PHP では、要素 (数値または文字列) が配列内にあるかどうかを判断するのが一般的な操作です。このプロセスは、非常にシンプルで効率的に使用できる in_array() 関数を使用して実現されます。
in_array() 関数には 2 つの必須パラメーターと 1 つのオプションのパラメーターがあります。最初のパラメータはターゲット要素、2 番目のパラメータはターゲット要素を含む配列、3 番目のパラメータは厳密な型比較を使用する必要があるかどうかを確認するために使用されるブール値です。
次は、in_array() 関数を使用した簡単なチェックの例です。これは、「apple」が次の配列内にあるかどうかをチェックします:
$fruits = array('banana', 'orange', 'apple'); if (in_array('apple', $fruits)) { echo "'apple' 被找到了!"; } else { echo "'apple' 没有被找到 :("; }
このコードを実行すると、最終出力が「『リンゴ』発見!」になります。
この例では、in_array() 関数は、配列 $fruits に要素「apple」が含まれているかどうかをチェックします。 'apple' は配列 $fruits に存在するため、条件分岐は「'apple' was found!」と出力します。とても簡単です!
デフォルトでは、in_array() 関数は文字列の大文字と小文字を区別せずに比較を実行します。したがって、配列を次のように定義すると:
$fruits = array('banana', 'orange', 'APPLE');
コードは引き続き「'apple' found!」と出力します。その理由は、2 番目の引数 (配列) に文字列要素 (大文字と小文字は区別されません) が含まれている場合でも、in_array() はその要素と一致するためです。
大文字と小文字を区別した比較を使用する場合は、次のように関数の 3 番目のパラメーターにブール値 TRUE を渡す必要があります。
$fruits = array('banana', 'orange', 'APPLE'); if (in_array('apple', $fruits, TRUE)) { echo "'apple' 被找到了!"; } else { echo "'apple' 没有被找到 :("; }
出力は「'apple' なし」になります。 Found:(" 大文字と小文字を区別した比較を実行しているためです。「APPLE」は「apple」と等しくありません。
また、array_search() 関数を使用して、より高度な検索を実行することもできます。array_search() function ターゲット要素に一致する配列内の最初のキーを返します。見つからない場合は、FALSE を返します。
array_search() 関数を使用して、'apple' が配列内にあるかどうかを確認する例を次に示します:
$fruits = array('banana', 'orange', 'apple'); $key = array_search('apple', $fruits); if ($key !== false) { echo "'apple' 被找到了! 键是 $key"; } else { echo "'apple' 没有被找到 :("; }
出力は「'apple' found! Key is 2」になります。理由は次のとおりです:
実際のプログラミングでは、複雑な多次元配列を検索したり、高度なフィルターを実行して、判定ロジックはより強力ですが、PHP で in_array() 関数と array_search() 関数を使用することが常に良い出発点となります。
以上がPHPで配列に含まれているかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。