PHPで多次元連想配列のキーを指定してソートする方法
2026/10/02
PHPで多次元配列から指定したキーでソート(並べ替え)したい。以下に対応方法をメモ。
対応方法
ソースコード
$data = [ [ 'id' => 4, 'name' => '田中', ], [ 'id' => 1, 'name' => '鈴木', ], [ 'id' => 2, 'name' => '山田', ], [ 'id' => 3, 'name' => '佐々木', ], ]; var_dump($data); $idList = array_column($data, 'id'); array_multisort($idList, SORT_ASC, $data); var_dump($data);
出力結果
# ソート前
array(4) {
[0]=>
array(2) {
["id"]=>
int(4)
["name"]=>
string(6) "田中"
}
[1]=>
array(2) {
["id"]=>
int(1)
["name"]=>
string(6) "鈴木"
}
[2]=>
array(2) {
["id"]=>
int(2)
["name"]=>
string(6) "山田"
}
[3]=>
array(2) {
["id"]=>
int(3)
["name"]=>
string(9) "佐々木"
}
}
# ソート後
array(4) {
[0]=>
array(2) {
["id"]=>
int(1)
["name"]=>
string(6) "鈴木"
}
[1]=>
array(2) {
["id"]=>
int(2)
["name"]=>
string(6) "山田"
}
[2]=>
array(2) {
["id"]=>
int(3)
["name"]=>
string(9) "佐々木"
}
[3]=>
array(2) {
["id"]=>
int(4)
["name"]=>
string(6) "田中"
}
}
リファレンス
array_column
https://www.php.net/manual/ja/function.array-column.php
array_multisort
関連記事
-
-
PHPにてメインドメイン⇔サブドメイン間でCookie及びSESSIONを共有する方法
PHPにてメインドメインのサイトで発行したCookie及びSESSIONをサブド ...
-
-
PHPとSQLiteでi-mobileのデータをグラフ化する方法
i-mobileでクリック保証のアフィリエイトだけど数値が並んでいるだけでグラフ ...
-
-
PHPのhash_file関数でファイルの改ざんを検知する方法
サイト内の特定の数ページのみ簡易的なものでも良いので自動でファイルの改ざんチェッ ...
-
-
PHPMailerを使ってメールをSMTP送信する方法(Composer無し)
PHPでメールをSMTP送信したかった。また、レンタルサーバだったのでCompo ...
-
-
PhpSpreadsheetで作成したエクセルファイルをPDFファイルに変換する方法
以前にPhpSpreadsheetでフォーマット用のエクセルを読み込み、指定した ...