PHPで配列からデータを検索する方法
phpで配列からデータを検索する方法を、コピペで利用できる様にまとめたいと思います。
phpのバージョンは7系で記述します。
配列からデータを検索する
シンプルに配列からデータを取得する、1行コードです、コピペしてお使いください。
1行実装
$result = $animes[array_search(1, $animes)];
// 検索配列 ID, 検索配列
配列からデータを検索する方法のちょっとした解説
元データ
$animes = [0 => "狼と香辛料", 1 => "ゼロの使い魔", 2 => "宝石の国"];
連想配列からデータを取得する
$keyIndex = array_search(1, $animes);
$result = $animes[$keyIndex];
var_dump($result);
結果
string(15) "狼と香辛料"
多重連想配列からデータを検索する
シンプルに配列からデータを取得する、1行コードです、コピペしてお使いください。
1行実装
$result = $animes[array_search("狼と香辛料", array_column($animes, 'animeName'))];
// 検索配列 検索したい値 検索配列 何で検索するか
連想配列からデータを検索する方法のちょっとした解説
詳細なデータを含む多重連想配列からデータを検索します。
こちらが検索元データです。
元データ
$animes = [
0 => ["animeId" => 1, "animeName" => "狼と香辛料"],
1 => ["animeId" => 2, "animeName" => "ゼロの使い魔"],
2 => ["animeId" => 3, "animeName" => "宝石の国"]
];
多重連想配列からデータを取得する
//アニメ名で検索するので animeNameを指定。
$keyIndex = array_search("狼と香辛料", array_column($animes, 'animeName'));
$result = $animes[$keyIndex];
var_dump($result);
以下の様なデータを取得できます
結果
array(
'animeId' => (int) 1,
'animeName' => '狼と香辛料'
)