PHP 開発者にとって、配列は多くの場合必要になります。配列はキーと値のペアで格納されるため、データ量が多い場合、要素の検索に時間がかかることがあります。 PHP には、指定された値が配列に存在するかどうかを調べるためのさまざまな組み込み関数が用意されていますが、この記事では、その一部とそれらの違いを紹介します。
in_array()
関数は、PHP の組み込み配列関数の 1 つで、配列内の指定された値を見つけるために使用されます。その構文は次のとおりです。
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
Where,
この関数は、値が配列内にあるかどうかを示すブール値を返します。そうである場合は true を返し、そうでない場合は false を返します。
たとえば、次のコードは、in_array()
関数を使用して、文字列「apple」が配列 $fruits に存在するかどうかを確認する方法を示しています。出力結果は次のとおりです:
$fruits = array("banana", "orange", "apple", "lemon"); if (in_array("apple", $fruits)) { echo "找到了 apple。"; } else { echo "没有找到 apple。"; }
array_search 関数
array_search() この関数は、PHP の組み込み配列関数の 1 つでもあり、指定された値を検索するために使用されます。配列を取得し、そのキーを返します。その構文は次のとおりです。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">找到了 apple。</pre><div class="contentsignin">ログイン後にコピー</div></div>
Where,
たとえば、次のコードは、
array_search() 関数を使用して、文字列「apple」が配列 $fruits に存在するかどうかを検索し、そのキーを返す方法を示しています。 出力結果は次のとおりです:
mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
array_search()
関数は 0 を返すため、問題が発生する可能性があることに注意してください。プログラムなのでType判定が必要です。isset 関数と array_key_exists 関数
array_key_exists() 関数は、配列内にキーが存在するかどうかを判断するために使用できます。構文は次のとおりです。
$fruits = array("banana", "orange", "apple", "lemon"); $key = array_search("apple", $fruits); if ($key) { echo "找到了 apple,它的键是 " . $key . "。"; } else { echo "没有找到 apple。"; }
その中で、
mixed $var/$key: 検索するキー。
isset()
関数は変数が存在するかどうかを判断するためにも使用できることです。変数が宣言されていない場合は、 falseを返します。array_key_exists() 関数は配列にのみ使用でき、多次元配列の検索はサポートしていません。
たとえば、次のコードは、
isset()
array_key_exists() 関数を使用してキーが存在するかどうかを判断する方法を示しています。
出力結果: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">找到了 apple,它的键是 2。</pre><div class="contentsignin">ログイン後にコピー</div></div>
要約
この記事では、PHP 配列内の要素を検索するための 4 つの関数:
in_array()isset() および
array_key_exists()。これらの関数は、さまざまなニーズに応じて選択して使用できます。その中でも、
array_search() 関数には、ブール値の代わりにキーを返すため、特定の利点があります。ただし、値が配列内にあるかどうかを判断するには、
in_array() 関数を使用するのが最善であることに注意してください。キーが 0 の場合、
array_search() 関数が使用されるためです。関数は0を返します。
最後に、上記の関数はいずれも多次元配列には適していないことに注意してください。多次元配列の場合、検索操作を完了するには再帰またはその他のアルゴリズムを使用する必要があります。
以上がPHPで指定された文字列が配列に存在するかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。