PHP 開発では、配列内に要素が存在するかどうかを確認する必要がある場合がよくありますが、この場合、通常は in_array() 関数または array_search() 関数を使用します。以下では、これら2つの機能の使い方と違いを詳しく紹介します。
1. in_array() 関数
in_array() 関数は、配列に要素が存在するかどうかを判断するために PHP でよく使用される関数で、使用方法は次のとおりです。
## bool in_array(mixed $needle, array $haystack [, bool $strict]);このうち、$needle は検索対象の要素を表し、$haystack は検索対象の配列を表します。 $strict は一致比較するかどうかを表し、戻り値はブール値です。 サンプルコードは次のとおりです。$fruits = array("apple", "banana", "orange", "tomato"); if (in_array("apple", $fruits)) { echo "有苹果!"; } else { echo "没有苹果。"; }出力結果は「リンゴがあります!」です。 2. array_search() 関数 array_search() 関数には in_array() 関数と同様の関数があり、配列内に要素が存在するかどうかを確認するためにも使用できます。 in_array() 関数とは異なり、array_search() 関数は要素の添字または false を返します。 array_search() 関数は次のように使用されます: mixed array_search(mixed $needle, array $haystack [, bool $strict]);そのうち、$ neede は検索対象の要素を表し、$haystack は検索対象の配列を表し、$strict は一致比較するかどうかを表します。 サンプルコードは次のとおりです。
$fruits = array("apple", "banana", "orange", "tomato"); $key = array_search("orange", $fruits); if ($key !== false) { echo "'orange' 的下标是: " . $key; } else { echo "'orange' 不存在!"; }出力結果は「'orange' の添字は: 2」となります。 3. in_array() 関数と array_search() 関数の違いin_array() 関数と array_search() 関数は、要素が存在するかどうかを判断する点で類似した機能を備えています。配列、それら 2 つは依然として次の違いがあります:
$fruits = array("apple", "banana", "orange", "tomato"); if (isset($fruits[2])) { echo "'orange' 存在!"; } else { echo "'orange' 不存在!"; }
出力結果は「'orange' が存在します!」です。
array_key_exists() 関数を使用する$fruits = array("apple", "banana", "orange", "tomato"); if (array_key_exists(2, $fruits)) { echo "'orange' 存在!"; } else { echo "'orange' 不存在!"; }
以上がPHPは配列内に存在するかどうかを判断しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。