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, ascendente (menor para maior), descendente (maior para menor), 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 eles retém sua ordem original. Antes do PHP 8.2.0, sua ordem eram indefinida (a ordenação não é estável).

Atributos das funções de ordenação
Nome da funçãoOrdena porMantém a associação de chavesOrdem da ordenaçãoFunções relacionadas
array_multisort()valorstring chaves sim, int chaves nãoprimeiro array ou opções de ordenaçãoarray_walk()
asort()valorsimascendentearsort()
arsort()valorsimdescendenteasort()
krsort()chavesimdescendenteksort()
ksort()chavesimascendentekrsort()
natcasesort()valorsimnatural, não sensível a maiúsculasnatsort()
natsort()valorsimnaturalnatcasesort()
rsort()valornãodescendentesort()
shuffle()valornãorandomarray_rand()
sort()valornãomenor para maiorrsort()
uasort()valorsimdefinido pelo usuáriouksort()
uksort()chavesimdefinido pelo usuáriouasort()
usort()valornãodefinido pelo usuáriouasort()
To Top