[PHP] usort で配列を並べ替える
作成日: 2026年11月07日
usort 関数を使うと、配列の要素を任意の基準で並べ替えたうえで、元の配列自体を更新できます。第 2 引数に比較用のコールバックを渡し、コールバックが負の整数・0・正の整数を返すことで並び順を決めます。
数値だけを昇順に並べ替える例です。
<?php
$nums = [3, 1, 4, 1, 5];
usort($nums, fn($a, $b) => $a <=> $b);
print_r($nums);
実行結果は下記のとおりです。
Array
(
[0] => 1
[1] => 1
[2] => 3
[3] => 4
[4] => 5
)
usort は並べ替え後も配列の添え字を 0 から振り直します。キーを保ったまま値だけ並べ替えたい場合は uasort を使う方法もあります。要素がすべて数値で、単純な昇順・降順でよい場合は sort や rsort で足りることもあります。
参考
- PHP manual - usort: https://www.php.net/manual/ja/function.usort.php