usort
Сортирует массив по своему правилу сравнения.
Синтаксис
usort(array &$array, callable $callback): trueПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $array | array | Массив, который сортируется. |
| $callback | callable | Функция сравнения двух элементов: возвращает отрицательное число, ноль или положительное. |
Возвращаемое значение
trueВсегда `true`; меняется сам массив.
Примеры
Сортировка по полю:
<?php
$users = [['name' => 'Oleg', 'age' => 31], ['name' => 'Anna', 'age' => 25]];
usort($users, fn ($a, $b) => $a['age'] <=> $b['age']);
echo implode(', ', array_column($users, 'name'));Результат:
Anna, OlegПо убыванию — аргументы меняются местами:
<?php
$numbers = [3, 10, 1];
usort($numbers, fn ($a, $b) => $b <=> $a);
echo implode(', ', $numbers);Результат:
10, 3, 1Примечания
Ключи заменяются номерами от нуля. Чтобы сохранить ключи, используйте uasort().
См. также
Вопросы и ответы по теме
В учебнике
- Сортировка массивов — Сортировка в PHP — sort, rsort, asort, ksort, своё правило через usort и оператор «космический корабль».