勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

PHPで多次元連想配列のキーを指定してソートする方法

   2026/10/02  PHP

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

https://www.php.net/manual/ja/function.array-multisort.php

 - PHP

  関連記事

PHPでデータをファイルキャッシュさせる(Cache_Lite)
PHPでデータをファイルキャッシュさせる(Cache_Lite)

最近携わった案件でPHPでファイルキャッシュをしているシステムがあった。今までフ ...

Podmanで導入したPHPの設定ファイル(php.ini)変更と高速化に関する設定方法
Podmanで導入したPHPの設定ファイル(php.ini)変更と高速化に関する設定方法

Podmanで導入したPHPの設定ファイル(php.ini)の内容を変更したい。 ...

フォームからアップロードした画像にPHPでロゴ画像(透かし)を追加する方法
フォームからアップロードした画像にPHPでロゴ画像(透かし)を追加する方法

フォームから送られてきた画像に対してサイトロゴみたいなロゴ画像を右下等、指定の位 ...

CodeIgniter4の各種設定項目のまとめ記事
CodeIgniter4の各種設定項目のまとめ記事

CodeIgniter4.4.4の各種設定項目を後から確認できるようまとめておき ...

PHPでエラーメッセージを見やすくするwhoopsの利用方法
PHPでエラーメッセージを見やすくするwhoopsの利用方法

PHPのエラーメッセージが見づらい。これはこういうもの、と諦めていたがCodei ...