ホームページ >バックエンド開発 >PHPの問題 >配列にキー値が含まれているかどうかを PHP でクエリする

配列にキー値が含まれているかどうかを PHP でクエリする

王林
王林オリジナル
2023-05-11 10:44:08763ブラウズ

PHP 開発では、配列に特定のキー値が含まれているかどうかのクエリが頻繁に直面する問題です。この記事では、配列に特定のキー値が含まれているかどうかを判断するいくつかの方法を紹介します。

1. in_array 関数を使用する
in_array 関数は値が配列内にあるかどうかを判断できますが、デフォルトでは in_array 関数のみが機能するため、この関数はキー値が配列内にあるかどうかを単独で判断することはできません。キーと値の対応関係を決定し、値が配列内にあるかどうかを判断します。ただし、配列内で array_keys 関数を使用して配列のキー名を取得し、次に in_array 関数を使用して、指定されたキー値がキー名に含まれているかどうかを判断できます。

以下はサンプル コードです:

$array = array('foo' => 'bar', 'bar' => 'foo');
if (in_array('foo', array_keys($array))) {
    echo "包含键值foo";
} else {
    echo "不包含键值foo";
}

実行結果は次のとおりです: キー値 foo

2 が含まれています。array_key_exists 関数を使用します。
array_key_exists 関数は次のことを確認できます。配列内にキー名が存在するかどうかを確認し、存在する場合は true を返し、存在しない場合は false を返します。

以下はサンプル コードです:

$array = array('foo' => 'bar', 'bar' => 'foo');
if (array_key_exists('foo', $array)) {
    echo "包含键值foo";
} else {
    echo "不包含键值foo";
}

実行結果は次のとおりです: キー値 foo が含まれます

array_key_exists 関数を使用して、キーの値は配列内にあります。キー名に対応する値ではなく、判定するキー名を渡すだけで済みます。

3. isset 関数を使用する
isset 関数は array_key_exists 関数に似ていますが、より厳密で、キー名が配列内に存在するかどうかを判断するだけでなく、キー名に対応する値が存在するかどうかも判断します。無効である。キー名に対応する値が null でない場合は true を返し、それ以外の場合は false を返します。

以下はサンプル コードです:

$array = array('foo' => 'bar', 'bar' => 'foo');
if (isset($array['foo'])) {
    echo "包含键值foo";
} else {
    echo "不包含键值foo";
}

実行結果は次のとおりです: キー値 foo

4 が含まれています。array_search 関数
array_search 関数を使用して検索します。配列内の指定された値、それに対応するキー名を返します。 array_search 関数の戻り値が false であるかどうかを判断することで、指定されたキー値が配列に含まれているかどうかを判断できます。

以下はサンプル コードです:

$array = array('foo' => 'bar', 'bar' => 'foo');
if (array_search('foo', $array) !== false) {
    echo "包含键值foo";
} else {
    echo "不包含键值foo";
}

実行結果は次のとおりです: キー値 foo を含む

配列内に複数のキー名がある場合に注意してください。 、対応する値は 値を指定し、array_search 関数は最初のキー名の値のみを返します。

要約すると、上記の 4 つの方法を使用して、配列に特定のキー名が含まれているかどうかを判断できます。さまざまなシナリオやニーズに応じて、配列に指定されたキー値が含まれているかどうかを判断する適切な方法を選択できます。

以上が配列にキー値が含まれているかどうかを PHP でクエリするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。