[PHP] 多次元連想配列のソート

あるAPIでデータを取得した際に、なぜか上手くソートがされなかったので、取得後にPHPでソートした
例えば以下のような多次元連想配列があったとする

$Array = array(
  array('id' => 1, 'name' => '織田信長'),
  array('id' => 3, 'name' => '徳川家康'),
  array('id' => 2, 'name' => '豊臣秀吉'),
);

idでソートされてないデータってなんやねん!って思うけど、サンプルなので気にしないで(笑)
という訳で、idでソートする

$iDS = array_column($Array, 'id');
array_multisort($iDS, SORT_ASC, $Array);

これでOK
降順でソートしたい場合はSORT_ASCSORT_DESCに変更するだけでOK


この記事が気に入ったらサポートをしてみませんか?