ホームページ >バックエンド開発 >PHPチュートリアル >PHP IN_ARRAY 関数使用時の注意事項

PHP IN_ARRAY 関数使用時の注意事項

高洛峰
高洛峰オリジナル
2016-12-22 13:45:471247ブラウズ

さらに、2つの値が一致するかどうかを比較する構造を制御するときは、==の代わりに===を使用するようにしてください(もちろん、これも具体的なビジネスロジックに応じて選択する必要があります) 。

理由を説明してください
var_dump(in_array(0, array('s' ));

この文の結果は bool(true) です

in_array は 0 と 's' を比較するため、0 は数値型です、' s' は文字列型です。PHP マニュアルの「比較演算子」の章の説明によると、数値と文字列を比較する場合、まず文字列型が数値に変換されてから比較演算が実行されます。 s' を数値に変換した結果は 0 で、0 == 0 の結果は true なので、in_array(0, array('s', 'ss')) の結果も true になります

in_array は strict を true に設定すると、比較時に値と型が等しいかどうかを判定し、等しい場合は true が返され、そうでない場合は false が返されますのでご注意ください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。