Сортировка массивов

В 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()
To Top