Сортировка массивов
В PHP есть несколько функций для сортировки массивов, на этой странице
даётся их общее описание.
Основные различия между функциями:
В одних функциях массивы (array) сортируются по ключам
элементов, в других по значениям:
$array['ключ'] = 'значение';
В каких-то функциях связь между ключами и значениями после сортировки
сохраняется, в каких-то нет. Это может приводить к тому, что ключи будут
сбрасываться в числовые значения (0, 1, 2, ...).
Различия в порядке сортировки: алфавитный, возрастающий, убывающий,
числовой, естественный, случайный или определённый пользователем
Примечание: Все функции сортировки модифицируют переданный массив, а не
возвращают отсортированную копию
Если какая-либо из этих функций сортировки оценивает два элемента как равные, они сохраняют свой исходный порядок.
До PHP 8.0.0 их порядок не был определён (сортировка была нестабильной).
Свойства функций сортировки
Имя функции
Сортирует по
Сохраняет связь ключ - значение
Порядок сортировки
Похожие функции
array_multisort
значению
строковые (string) ключи да, числовые (int) - нет
первый массив или настройки сортировки
array_walk
asort
значению
да
по возрастанию
arsort
arsort
значению
да
по убыванию
asort
krsort
ключу
да
по убыванию
ksort
ksort
ключу
да
по возрастанию
krsort
natcasesort
значению
да
естественный, нечувствительный к регистру
natsort
natsort
значению
да
естественный
natcasesort
rsort
значению
нет
по убыванию
sort
shuffle
значению
нет
случайный
array_rand
sort
значению
нет
по возрастанию
rsort
uasort
значению
да
определяется пользователем
uksort
uksort
ключу
да
определяется пользователем
uasort
usort
значению
нет
определяется пользователем
uasort