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 サイトの他の関連記事を参照してください。