PHPのin_array関数の使い方の紹介

不言
リリース: 2023-04-05 15:06:02
転載
3247 人が閲覧しました

この記事は、PHP の in_array 関数の使用法を紹介します。これには一定の参考値があります。必要な友人は参照してください。お役に立てば幸いです。

次のコードは true または false を出力すると思いますか?

1 <?php
2 $data = [6,9];
3 var_dump(in_array('06',$data));
ログイン後にコピー

今日、コードをデバッグしているときに、in_array の誤った使用によって引き起こされるバグを発見しました。 PHP では、配列は非常に強力なデータ構造です。公式では多数の配列操作関数が提供されています。よく使用されるのは in_array() です。配列に要素が含まれているかどうかを判断するためによく使用されます。ただし、関数を使用するときにその 3 番目のパラメータを無視すると、一種のバグが発生する可能性があります。
公式関数定義:

in_array (mixed $needle , array $haystack [, bool $strict = FALSE ] )
: bool

needle

required検索される要素

Haystack

検索される配列

Strict

このパラメータが true に設定されている場合、検索には厳密比較モードが使用されます。要素。つまり、検索時には、検索対象の要素と配列要素の値だけでなく、その型も比較されます。デフォルトは false です。

3 番目のパラメータが無視された場合、記事の冒頭の質問の出力は true になります。厳密な比較が使用されないため、関数は文字列と数値を処理するときに、比較のために文字列を整数/浮動小数点型に変換しようとします。たとえば、「12ax」は 12 に変換されます。次に、上記の「06」は 6 に変換されるため、出力は true になります。
最初、この関数に 3 番目のパラメータの設定があることに気付かず、どうしても望む結果が得られませんでした。

以上がPHPのin_array関数の使い方の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート