// 対象の連想配列
$users = [
[
'email' => 'aaa@aaa.com',
'name' => 'ユーザーA',
],[
'email' => 'bbb@bbb.com',
'name' => 'ユーザーB',
],[
'email' => 'ccc@ccc.com',
'name' => 'ユーザーC',
],
];
// 検索を行う
$key = array_search('bbb@bbb.com', array_column($users, 'email'));
// $keyには見つかったユーザーのindexが入っている
if ($key) {
$user = $users[$key]; // $key==1
} else {
// 一致する項目がなかったときの処理
}
array_search('{検索したいメールアドレス}', array_column({配列}, '{カラム名}'))
関数化してあげると便利かも
function search ($value, $key, $array) {
foreach ($array as $k => $val) {
if ($val[$key] == $value) {
return $k;
}
}
return null;
}
$user = search('bbb@bbb.com', 'email', $users);
if (!is_null($user)) {
var_dump($user);
} else {
// 一致する項目がなかったときの処理
}
例えばユーザー情報が入った連想配列を対象に、
任意のメールアドレスで検索をかけたい場合など