MENU

多次元配列で特定のキーでソートしたい

多次元配列を「年齢順」とか「点数順」とかで並べ替えたいときって結構あります。そんなときはarray_column()とarray_multisort()を組み合わせて並べ替えできるみたい。

$user = array();//並べ替えたい多次元配列
$key = 'key';//並べ替えの基準にしたいキー
array_multisort(array_column($array,$key),SORT_ASC,$array);

これで多次元配列を並べ替えてくれます。戻り値は成功したらtrue、失敗したらfalseが返ります。

・サンプル

$user = [
    ['name' => '山田','age' => '22'],
    ['name' => '田中','age' => '19'],
    ['name' => '中村','age' => '55'],
    ['name' => '村井','age' => '32']
];

$sort_check = array_multisort(array_column($user,'age'),SORT_ASC,$user);

var_dump($sort_check);
var_dump($user);

・出力結果

[template-post ‘152’]

こちらのページを参考にさせていただきました。

【PHP】多次元配列のソート:連想配列の配列のキーを指定し並び替える!

https://zenn.dev/fijii_rin/articles/913e34fb08843d
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次