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
関連記事
-
-
opauthのTwitterでログインできない際の対応方法
opauthを使ったソーシャルログインのシステムにてTwitterでログインでき ...
-
-
PHPにて「Fatal error: Uncaught Exception ~~」エラーの対応方法
PHPにてDatetimeクラスの呼び出し時にタイムスタンプを指定しようとすると ...
-
-
PHPでLINEログイン後「ユーザー名」「ユーザーID」「プロフィール画像URL」「メッセージ」を取得する方法
<a>タグのリンクからページ遷移するとLINEログインし、その後に「 ...
-
-
PHPでjpg / png画像をWebP画像に変換し保存する方法
PHPでjpg / png画像を圧縮したかった。ただjpg / pngのままだと ...
-
-
TCPDF「Could not include font definition」エラーの対処方法
TCPDFでフォントを「arialunicid0」に指定したところ「TCPDF ...