array_multisort
Сортирует несколько массивов сразу или таблицу по нескольким столбцам.
Синтаксис
array_multisort(array &$array, mixed ...$rest): boolПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $array | array | Первый массив — по нему идёт сортировка. |
| ...$rest | mixed | Порядок (`SORT_ASC`, `SORT_DESC`) и другие массивы. |
Возвращаемое значение
bool`true` при успехе.
Примеры
Таблица по одному столбцу:
<?php
$users = [
['name' => 'Anna', 'age' => 31],
['name' => 'Oleg', 'age' => 24],
['name' => 'Ivan', 'age' => 28],
];
array_multisort(array_column($users, 'age'), SORT_ASC, $users);
echo implode(', ', array_column($users, 'name'));Результат:
Oleg, Ivan, AnnaПримечания
Понятнее обычно usort() с оператором <=>: usort($users, fn ($a, $b) => $a['age'] <=> $b['age']).
См. также
- usort — Сортирует массив по своему правилу сравнения.
- array_column — Достаёт значения одного ключа из массива массивов.
- sort — Сортирует массив по возрастанию.
В учебнике
- Сортировка массивов — Сортировка в PHP — sort, rsort, asort, ksort, своё правило через usort и оператор «космический корабль».