update.はじめに初投稿です。PHPの文字列とかの比較のキャストがよくわからない仕様だったので自分なりにまとめたものです。"false";}さぁ結果はどうなったでしょう?結果は~ture私は最初「は?」と思いましたが、どうやらPHPの仕様だそうです。PHPでは文字列型と数値型など異なる型で比較を行うと文字列は数値にキャスト(変換)されます。出力されると表示されます。これらからわかるようにキャストにもルールがあります。キャストルール文字列の先頭が数値ならばそこが抜き出され、そうでなければ0になる。先頭の空白や0は無視される。"false";}結果trueあれ~おかしいね~""で囲ってるから文字列のはずなんだけどな~~これもキャストの仕様です。キャストルールPHPでは数値形式の文字列を比較する場合、それは整数として比較されます。整数型としての比較になります。両方トモtrue一体どこにtrue要素があるのか理解に苦しみますがこれもキャストのせいです。なんと全部0にキャストされてるのでtrueです。比較などをする際は必ず””(ダブルクォーテーション)で囲うなど型を意識して使う例外などを除きある程度これで対策できる===(イコールイコールイコール)を使う===は$aが$bに等しく、および同じ型である場合にtrueとなるので型変換が行われず比較が行われる。何も考えずすべて===を使用すると動的型付け言語であるPHPとしては少々もったいないので適材適所==と===を使い分ける。true区別されるまとめ・文字列型と数値型の比較の場合、数値型と同じ型にキャストされる・文字列型と文字列型の比較でも、両方とも数値形式の場合、数値型へキャストされる・”==”と”===”の機能の使い分けをする、特にnull,false,””,0の比較に関しては”==”だと全てキャストされ”0”として認識され比較がすべてtrueになるので注意-”===”を使いキャストせずに比較する事。upLoginユーザーは見つかりませんでした。