В PHP есть несколько функций для сортировки массивов, на этой странице дается их общее описание.
Основные различия между функциями:
| Имя функции | Сортирует по | Сохраняет связь ключ - значение | Порядок сортировки | Похожие функции | 
|---|---|---|---|---|
| array_multisort() | значению | ассоциативные да, числовые нет | первый массив или настройки сортировки | array_walk() | 
| asort() | значению | да | по возрастанию | arsort() | 
| arsort() | значению | да | по убыванию | asort() | 
| krsort() | ключу | да | по убыванию | ksort() | 
| ksort() | ключу | да | по возрастанию | asort() | 
| natcasesort() | значению | да | натуральный, чувствителен к регистру | natsort() | 
| natsort() | значению | да | натуральный | natcasesort() | 
| rsort() | значению | нет | по убыванию | sort() | 
| shuffle() | значению | нет | случайный | array_rand() | 
| sort() | значению | нет | по возрастанию | rsort() | 
| uasort() | значению | да | определяется пользователем | uksort() | 
| uksort() | ключу | да | определяется пользователем | uasort() | 
| usort() | значению | нет | определяется пользователем | uasort() |