Сортування масивів

У PHP є кілька функцій для сортування масивів, на цій сторінці дається їхній загальний опис.

Основні відмінності між функціями:

  • В одних функціях масиви сортуються за ключами елементів, в інших за значеннями:$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()