LoginSignup
111
87

More than 5 years have passed since last update.

PHPで多重連想配列からデータを検索、array_searchをシンプルにまとめました

Posted at

PHPで配列からデータを検索する方法

phpで配列からデータを検索する方法を、コピペで利用できる様にまとめたいと思います。

phpのバージョンは7系で記述します。

配列からデータを検索する

シンプルに配列からデータを取得する、1行コードです、コピペしてお使いください。

1行実装
$result = $animes[array_search(1, $animes)];
//                 検索配列                            ID, 検索配列

配列からデータを検索する方法のちょっとした解説 :beer:

元データ
$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'))];
//                検索配列                              検索したい値                               検索配列     何で検索するか

連想配列からデータを検索する方法のちょっとした解説 :beer:

詳細なデータを含む多重連想配列からデータを検索します。
こちらが検索元データです。

元データ
$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' => '狼と香辛料'
)
111
87
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
111
87