ホームページ >バックエンド開発 >PHPの問題 >PHP配列に指定された値が含まれているかどうかを確認する方法

PHP配列に指定された値が含まれているかどうかを確認する方法

PHPz
PHPzオリジナル
2023-04-27 15:37:44715ブラウズ

PHP プログラミングでは、配列は非常に一般的に使用されるデータ構造です。配列を操作するとき、配列内の値に特定の値が含まれているかどうかを判断する必要がある場合があります。では、PHP の配列値に次の値が含まれるかどうかを判定する関数を実装するにはどうすればよいでしょうか?以下で詳しく紹介していきましょう。

1. in_array() 関数を使用する

in_array() は PHP の組み込み関数の 1 つで、値が配列内にあるかどうかを判断するために使用されます。構文は次のとおりです。

    in_array($needle, $haystack, $strict)

このうち、$needle は検索対象の値を表し、$haystack は検索対象の配列を表し、$strict は厳密モードがオンになっているかどうかを記録します。値の判定に加えて、データ型も判定されます。

例:

    $array = array('apple', 'banana', 'orange');
    if (in_array('apple', $array)) {
        echo '找到了'; // 输出:找到了
    } else {
        echo '没找到';
    }

2. array_search() 関数を使用します。

array_search() も PHP の組み込み関数の 1 つで、キー名を検索するために使用されます。配列内の値。値が配列に存在しない場合は、false を返します。構文は次のとおりです:

    array_search($needle, $haystack, $strict)

例:

    $array = array('apple' => 'red', 'banana' => 'yellow', 'orange' => 'orange');
    $result = array_search('red', $array);
    if ($result !== false) {
        echo '找到了,键名是:' . $result; // 输出:找到了,键名是:apple
    } else {
        echo '没找到';
    }

3. in_array() 関数と array_keys() 関数を使用します

in_array() 関数と array_keys を使用できます() 関数を同時に使用して、配列内の特定の値のキー名を検索します。このうち、in_array() 関数は値が配列内にあるかどうかを判断するために使用され、array_keys() 関数は配列内の値に対応するキー名を返すために使用されます。構文は次のとおりです:

    $keys = array_keys($array, $value)

例:

    $array = array('apple' => 'red', 'banana' => 'yellow', 'orange' => 'orange');
    if (in_array('red', $array)) {
        $keys = array_keys($array, 'red');
        echo '找到了,键名是:' . $keys[0]; // 输出:找到了,键名是:apple
    } else {
        echo '没找到';
    }

配列内に複数の同一の値がある場合、array_keys() 関数はキーの配列を返すことに注意してください。最初の値だけではなく、すべての値に対応する名前。

4. isset() 関数を使用する

最後に、一部の PHP 初心者は、値が配列内にあるかどうかを判断するために isset() 関数を使用する場合があります。ただし、 isset() 関数の主な目的は変数が存在するかどうかを判断することであり、値が配列内にあるかどうかを判断することはお勧めできません。

isset() 関数は、特定の値が定義されているかどうかを判断するだけで、それが配列内にあるかどうかを判断できないためです。例:

    $array = array('apple' => 'red', 'banana' => 'yellow', 'orange' => 'orange');
    if (isset($array['red'])) {
        echo '找到了'; // 不会输出
    } else {
        echo '没找到';
    }

上記のコードでは、isset() 関数は false を返しますが、実際には配列内にキー名「red」を持つ要素はありません。したがって、値が配列内にあるかどうかを判断するときに isset() 関数を使用しないでください。

概要:

PHP 配列値に が含まれているかどうかは、in_array() 関数と array_search() 関数を使用して実装できます。また、array_keys() 関数と in_array を使用して実装することもできます。 () 関数は使用できますが、値が配列内にあるかどうかを判断するには isset() 関数を使用することをお勧めします。実際の開発では、実際のニーズに応じて PHP 配列値が含まれるかどうか、適切な実装方法を選択することが非常に重要です。

以上がPHP配列に指定された値が含まれているかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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