第三引数に「true」を指定した方がいい理由in_arrayはなにをするの?配列に値があるのかをチェックする。(true));第一引数には、入っているか知りたい値を。第二引数には、配列を。第三引数をtrueとすることで、型も確認することができる。*後述するが、これは指定した方がいい。true));//bool(true)第三引数に「true」を指定した方がいい理由これは単純に「PHPが動的型付けをする言語のため、予期せぬ挙動でエラーをだす可能性」を排除するためです。phpの型変[...]第三引数に「true」を指定しない場合、比較演算子は「==」としてあくまで値がイコールかどうかの判別しかしません。すると、次のようなことが起こり得ます。$num);//bool(true)明らかに変数$numの中には”soccer”という文字列はないのに、結果としては「true」を返しています。この結果の原因は、「PHPが勝手に”soccer”という文字列を整数に変換した」ということのためです。今回のin_arrayには第三引数に「true」を指定しなかったので、比較演算子は「==」となり、下記のような比較となります。$numそうするとPHPくんは次のようなことを考えます。「これ、”soccerは文字列やけど$numは整数の配列やな。このままだと比較出来んから”soccer”を整数に変換して比較しよ。文字列を整数にする時、整数が含まれない時の値は0にするんやった。$numに0があるやん!だからこれは「true」や!」*あくまで個人のイメージです。ちなみに、文字列を整数に変換する場合、先頭に整数がきてる場合はその整数の値に変換されます。今回は整数が含まれていなかったため、値は「0」となりました。int(0)ということから、in_arrayを用いる時は必ず「true」を指定する、という方がエラーのリスクも抑えられるため自分は必ず指定しようと思います。コメントをキャンセルメールアドレスが公開されることはありません。PHP2019年10月18日22301viewわかっているようでわからない、PHPのFETCHを解説!PHP2019年10月4日6262viewPHPのデータベース接続ー呪文に見えるコードの正体を追う【初心者向け】PHP2019年10月11日5418viewちゃんと分かってる?ーPHPでとっても大事な$_POSTを理解しよう!プログラミング2019年9月27日4308viewVSCodeは初心者にこそおすすめ!-拡張機能で勉強効率を3倍にする-プログラミング2019年7月26日3547view30代・未経験・ウェブマーケティング業界への転職は失敗した。最近の投稿Laravel+Vueでゼロからサービスを作りました。takablog.ホームシェアTOPへ。