配列内の複数の値を見つけて、PHP で対応するキー名を返す方法
PHP 開発では、配列内の複数の値を見つけてそのキーを見つける必要があることがよくあります。対応する値名の状況。この記事では、この機能を実現する方法と、対応するコード例を紹介します。
まず、探している配列の構造を見てみましょう。ユーザー名、年齢、性別などのユーザー情報を格納する連想配列があるとします。例は次のとおりです:
$user_info = array( 'john' => array( 'age' => 25, 'gender' => 'male' ), 'amy' => array( 'age' => 32, 'gender' => 'female' ), 'peter' => array( 'age' => 28, 'gender' => 'male' ), 'susan' => array( 'age' => 30, 'gender' => 'female' ) );
さて、年齢が 32 歳、性別が女性のユーザーを検索する必要があるとします。ユーザーのキー名「amy」を取得したいと考えています。 。この関数を実装するコード例を次に示します。
function searchUser($array, $conditions) { foreach ($array as $key => $value) { $match = 0; foreach ($conditions as $condition_key => $condition_value) { if ($value[$condition_key] == $condition_value) { $match++; } } if ($match == count($conditions)) { return $key; } } return null; } $conditions = array( 'age' => 32, 'gender' => 'female' ); $result = searchUser($user_info, $conditions); if ($result) { echo "找到匹配的用户,键名为:" . $result; } else { echo "未找到匹配的用户"; }
上記のコードでは、searchUser
という名前の関数を定義します。この関数は、検索対象の配列と検索条件の 2 つのパラメーターを受け取ります。 。
関数内では、2 レベルのネストされたループを使用します。外側のループは配列の各要素を調べ、内側のループは検索条件配列の各条件を調べます。
内側のループでは、配列内の対応するキーの値が現在の検索条件と等しいかどうかを比較します。それらが等しい場合、カウンター $match
の値をインクリメントします。 $match
の値が検索条件配列の長さと等しい場合、すべての条件が一致したことを意味し、現在のループのキー名を返します。
一致するユーザーが見つからない場合は、最終的に null
を返します。
メイン プログラムでは、検索条件の配列 $conditions
を定義し、searchUser
関数を呼び出して一致するユーザーを検索します。最後に、返された結果に基づいて、対応するプロンプト情報を出力します。
上記のコード例を通じて、配列内の複数の値を検索し、対応するキー名を返す関数を実現できます。
概要:
PHP 開発では、配列内の複数の値を検索し、対応するキー名を返す必要がある場合があります。二重ループと適切な判定条件を使用することで、この機能を実現できます。上記のコード例は、参照および使用できる実装メソッドを提供します。この記事が PHP 配列検索の皆様のお役に立てれば幸いです。
以上がPHPで配列内の複数の値を検索し、対応するキー名を返す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。