PHP 開発者にとって、配列の操作は日常業務の中で非常に一般的なタスクの 1 つです。多くの場合、他の多くの配列を含む 2 次元配列から特定の値を見つける必要があります。この記事では、PHP の 2 次元配列の ID に値が含まれているかどうかを確認する方法を読者に紹介します。
まず、2 次元配列とは何かを見てみましょう。簡単に言えば、2 次元配列は複数の配列を含む配列です。各内部配列には独自のキーと値があり、通常は 2 つのキーを使用できます。最初のキーは外部配列の内部配列にアクセスするために使用され、2 番目のキーは内部配列の値にアクセスするために使用されます。例:
$employees = array( array("id" => 101, "name" => "John"), array("id" => 102, "name" => "Mary"), array("id" => 103, "name" => "Peter") );
上記の例では、$employees は 3 つの内部配列を含む 2 次元配列です。各内部配列には、値 101/John、102/Mary、および 103/Peter を持つ 2 つのキー (ID と名前) があります。
ここで、特定の ID 値が上記の配列に存在するかどうかを調べたいとします。PHP の foreach ループを使用してそれを見つけることができます。コード例は次のとおりです。
$found = false; $search_id = 102; foreach ($employees as $employee) { if ($employee['id'] === $search_id) { $found = true; break; } } if ($found) { echo "The ID is in the array"; } else { echo "The ID isn't in the array"; }
この例では、まず変数 $found を定義し、それを false に初期化します。次に、変数 $search_id を定義し、探している特定の ID 値をそれに割り当てます。次に、foreach ループを使用して $employees 配列をループし、if ステートメントを使用して各内部配列の ID キーが $search_id と等しいかどうかを確認します。一致するものが見つかった場合は、$found 変数を true に設定し、break ステートメントを使用してループを終了します。最後に、$found 変数の値をチェックして、特定の ID 値が配列内にあるかどうかを判断します。
この方法は比較的単純ですが、大規模な 2 次元配列ではパフォーマンスの問題が発生する可能性があります。特に検索が頻繁に必要な場合、毎回完全な配列の走査を行うとアプリケーションのパフォーマンスが低下する可能性があります。この問題を回避するには、PHP で array_column 関数と in_array 関数を使用します。
array_column 関数は、指定されたキーの値を含む入力配列から新しい配列を返す非常に便利な PHP 関数です。したがって、上記の $employees 配列から id 値を抽出したい場合は、次のコードを使用できます:
$ids = array_column($employees, 'id');
上記の例では、$employees 配列を最初のパラメーターとして array_column に渡しています。関数を使用し、2 番目のパラメータとして ID を渡します。 $employees 内部配列内のすべての ID 値を含む新しい配列を返します。
次に、in_array 関数を使用して、探している特定の値が $ids 配列内にあるかどうかを確認します。コード例は次のとおりです。
$search_id = 102; if (in_array($search_id, $ids)) { echo "The ID is in the array"; } else { echo "The ID isn't in the array"; }
この例では、まず変数 $search_id を定義し、検索する特定の ID の値をそれに割り当てます。次に、in_array 関数を使用して、$search_id が $ids 配列に存在するかどうかを確認します。一致する場合は「ID が配列内にあります」というメッセージが出力され、一致しない場合は「ID が配列内にありません」というメッセージが出力されます。
要約すると、2 次元配列内の特定の値を見つけることは、PHP 開発者にとって非常に一般的なタスクです。この記事では、配列全体の走査に foreach ループを使用する方法と、array_column 関数と in_array 関数を使用する 2 つの方法について説明します。どちらの方法を使用する場合でも、プログラムのパフォーマンスと可読性を確保する必要があります。
以上がPHP は、値が 2 次元配列の id にあるかどうかを判断します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。