PHP tiene varias funciones que se ocupan de ordenar arrays (matrices) y este documento existe para ayudar a aclararlo todo.
Las principales diferencias son:
| Nombre de la función | Ordena por | Mantiene asociación con las key | Orden de la clasificación | Funciones relacionadas | 
|---|---|---|---|---|
| array_multisort() | valor | sí si es asociativa, no si es númerica | primer array u opciones de clasificación | array_walk() | 
| asort() | valor | sí | menor a mayor | arsort() | 
| arsort() | valor | sí | mayor a menor | asort() | 
| krsort() | key | sí | mayor a menor | ksort() | 
| ksort() | key | sí | menor a mayor | asort() | 
| natcasesort() | valores | sí | natural, insensible a mayúsculas y minúsculas | natsort() | 
| natsort() | valor | sí | natural | natcasesort() | 
| rsort() | valor | no | mayor a menor | sort() | 
| shuffle() | valor | no | aleatorio | array_rand() | 
| sort() | valor | no | menor a mayor | rsort() | 
| uasort() | valor | sí | definido por el usuario | uksort() | 
| uksort() | key | sí | definido por el usuario | uasort() | 
| usort() | valor | no | definido por el usuario | uasort() |