PHP プログラミングでは、配列に値が存在するかどうかを判断するのは非常に一般的な操作です。この記事では、この機能を実現する 3 つの方法を紹介します。
PHP には in_array 関数が用意されており、配列内に値が存在するかどうかを判断できます。存在する場合は TRUE を返し、存在しない場合は FALSE を返します。 。この関数の構文は次のとおりです:
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
このうち、$needle はチェックする必要がある値を表し、$haystack は対象の配列を表し、$strict は厳密モードが有効かどうかを表します。 FALSE、つまり厳密モードが有効になっていないことを意味します。
次は、in_array 関数を使用して、配列内に値が存在するかどうかを判断する例です。
<?php $colors = array("red", "green", "blue"); if (in_array("green", $colors)) { echo "存在"; } else { echo "不存在"; } ?>
出力結果は次のとおりです。exists
PHP の array_search 関数は、配列内の値を検索し、キー名を返すために使用されます。値が配列にない場合は、FALSE を返します。この関数の構文は次のとおりです:
mixed array_search ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
このうち、$needle はチェックする必要がある値を表し、$haystack は対象の配列を表し、$strict は厳密モードが有効かどうかを表します。 FALSE、つまり厳密モードが有効になっていないことを意味します。
次は、array_search 関数を使用して、配列内に値が存在するかどうかを確認する例です。
<?php $colors = array("red", "green", "blue"); $key = array_search("green", $colors); if ($key !== false) { echo "存在"; } else { echo "不存在"; } ?>
出力結果は次のとおりです。exists
注: array_search関数では、0を返す可能性があり、0に対応するキー名もfalseとなるため、戻り値が厳密にFALSEに等しいかどうかを判定する必要があります。
PHP の isset 関数は、変数が設定されており、NULL でないかどうかを検出するために使用されます。変数が存在し、NULL でない場合は TRUE を返し、それ以外の場合は FALSE を返します。配列内に存在しないキー値は NULL とみなされ、isset 関数を使用して値が配列内に存在するかどうかを判断できます。以下は、isset 関数を使用して、配列に値が存在するかどうかを判断する例です。
<?php $colors = array("red", "green", "blue"); if (isset($colors[array_search("green", $colors)])) { echo "存在"; } else { echo "不存在"; } ?>
出力結果は次のとおりです。exists
この例では、array_search 関数を使用して値を取得します。配列内の "green" キー内の対応するキー名。 isset 関数を使用して、キー値が既に存在するかどうかを確認します。
これら 3 つの方法のうち、in_array 関数を使用することをお勧めします。その構文がシンプルで理解しやすく、キーの値を判断する必要がないためです。配列内の値に対応するキー名を取得する必要がある場合は、array_search 関数を使用できます。 isset 関数は、配列内に特定の値が存在するかどうかを判断するために使用することもできますが、通常は変数の存在を検出するために使用され、配列値の検出には適していません。
以上がPHPで配列に値が存在するかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。