[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