勉強したことのメモ

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

  関連記事

formにhCaptchaを組み込み、PHPで結果を検証する方法
formにhCaptchaを組み込み、PHPで結果を検証する方法

お問い合わせフォーム等でGoogle reCAPTCHAではなくhCaptcha ...

PHPでJavaScriptを圧縮するライブラリ「JShrink」の利用方法
PHPでJavaScriptを圧縮するライブラリ「JShrink」の利用方法

サイト内でJavaScriptを用いる場合、外部のライブラリやプラグインだと圧縮 ...

Class 'DOMDocument' not foundエラーの対処方法
Class 'DOMDocument' not foundエラーの対処方法

PHPでphpQueryというライブラリを利用しようとすると「Fatal err ...

迷惑メール対策でフォームにGoogle reCAPTCHA v2を導入する方法
迷惑メール対策でフォームにGoogle reCAPTCHA v2を導入する方法

お問い合わせフォームのスパムメール対策としてreCAPTCHAを導入したいという ...

Opauthで「Please change the…」エラーの対応方法
Opauthで「Please change the…」エラーの対応方法

Opauthを使用中に「Notice: Please change the va ...