配列をソートする
PHPには配列をソートするための関数が複数用意されています
sort
配列をソートします
$members = [
'Bob',
'Chris',
'Alice',
'Dave',
];
sort($members);
print_r($members);
結果
Array
(
[0] => Alice
[1] => Bob
[2] => Chris
[3] => Dave
)
ksort
連想配列をキーの昇順でソートします
$arr = [
'Bob' => 1,
'Chris' => 2,
'Alice' => 3,
'Dave' => 4,
];
ksort($arr);
print_r($arr);
結果
Array
(
[Alice] => 3
[Bob] => 1
[Chris] => 2
[Dave] => 4
)
usort
配列を好みの基準でソートしたい場合はusort
を使うことができます
例:連想配列の特定のキーを元にソートする(ユーザーを名前の昇順に並び替える)
$arr = [['id' => 1, 'name' => 'Bob'], ['id' => 2, 'name' => 'Alice']];
usort($arr, fn ($a, $b) => strcmp($a['name'], $b['name']));
print_r($arr);
結果
Array
(
[0] => Array
(
[id] => 2
[name] => Alice
)
[1] => Array
(
[id] => 1
[name] => Bob
)
)