Constantes pré-definidas
Funções para Array
Arrays
PHP Manual

# Ordenando Arrays

O PHP tem muitas funções para lidar com ordenação de arrays, e esse documento existe para ajudar a você lidar com elas.

As principais diferenças são:

- Algumas ordenam com base nas chaves do array, enquanto outras pelos valores: $array['chave'] = 'valor';
- A correlação entre as chaves e os valores do array não são mantidas depois da ordenação, o que pode fazer com que as chaves sejam resetadas numericamente (0, 1, 2, ...)
- A ordem da ordenação: alfabética, menor para maior (ascendente), maior para menor (descendente), numérica, natural, aleatório, ou definida pelo usuário
- Nota: Todas essas funções agem diretamente na própria variável do array, ao invés de retornar um novo array ordenado
- Se qualquer uma dessas funções avaliar dois membros como iguais então a ordem será indefinida (a ordenação não é estável).

Atributos das funções de ordenação
Nome da função | Ordena por | Mantém a associação de chaves | Ordem da ordenação | Funções relacionadas
--- | --- | --- | --- | ---
array_multisort() | valor | associativo sim, numérico não | primeiro array ou opções de ordenação | array_walk()
asort() | valor | sim | menor para maior | arsort()
arsort() | valor | sim | maior para menor | asort()
krsort() | chave | sim | maior para menor | ksort()
ksort() | chave | sim | menor para maior | asort()
natcasesort() | valor | sim | natural, não sensível a maiúsculas | natsort()
natsort() | valor | sim | natural | natcasesort()
rsort() | valor | não | maior para menor | sort()
shuffle() | valor | não | random | array_rand()
sort() | valor | não | menor para maior | rsort()
uasort() | valor | sim | definido pelo usuário | uksort()
uksort() | chave | sim | definido pelo usuário | uasort()
usort() | valor | não | definido pelo usuário | uasort()

Constantes pré-definidas
Funções para Array
Arrays
PHP Manual