ホームページ >バックエンド開発 >PHPの問題 >PHP で値が 2 次元配列にあるかどうかを判断する方法 (2 つの方法)

PHP で値が 2 次元配列にあるかどうかを判断する方法 (2 つの方法)

PHPz
PHPzオリジナル
2023-04-23 17:49:421520ブラウズ

PHP では、値が 2 次元配列内にあるかどうかを判断する方法が数多くあります。この記事では、最も一般的に使用される 2 つの方法を紹介します。

方法 1: foreach ループを使用して走査する

この方法はより直感的で、foreach ループを使用して 2 次元配列全体を走査し、各サブ配列に目標値。ターゲット値が見つかった場合は直接 true を返すことができますが、そうでない場合はループの終了後に false を返します。

次はコード例です:

function isValueInArray($array, $value) {
    foreach ($array as $subArray) {
        if (in_array($value, $subArray)) {
            return true;
        }
    }
    return false;
}

この関数は、クエリ対象の 2 次元配列とターゲット値の 2 つのパラメータを受け取ります。関数内では、foreach ループを使用して配列全体を反復し、in_array 関数を使用してターゲット値が各サブ配列に存在するかどうかを判断します。ターゲット値が見つかった場合は直接 true を返すことができますが、そうでない場合はループの終了後に false を返します。

方法 2: array_column 関数を使用する

PHP の array_column 関数は、2 次元配列から指定されたキーのすべての値を返すことができます。この関数を使用して 2 次元配列内の列を取得し、in_array 関数を使用してターゲット値が列に存在するかどうかを判断できます。存在する場合は true を返し、存在しない場合は false を返します。

次はコード例です:

function isValueInArray($array, $value) {
    foreach ($array as $subArray) {
        if (in_array($value, array_column($array, 'key'))) {
            return true;
        }
    }
    return false;
}

この関数の実装は基本的に上記の関数と同じですが、異なる点は、array_column 関数を使用して「キー」列を取得することです。 2 次元配列に入力し、in_array 関数を使用して、ターゲット値が列に表示されるかどうかを判断します。

概要

上記は、値が PHP の 2 次元配列にあるかどうかを判断する 2 つの一般的な方法です。 foreach ループの使用はより直感的ですが、配列が大きい場合にはパフォーマンスが影響を受ける可能性があります。 array_column 関数を使用すると、指定された列をより速く取得できますが、この関数は一部の古い PHP バージョンではサポートされていない場合があります。したがって、使用する方法を選択するときは、いくつかの考慮事項を組み合わせる必要があります。

以上がPHP で値が 2 次元配列にあるかどうかを判断する方法 (2 つの方法)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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