(PHP 4, PHP 5, PHP 7, PHP 8)
sort — Ordena um array em ordem ascendente
Ordena os valores do array em ordem ascendente,
modificando o array.
Nota:
Se dois elementos são comparados como iguais, eles mantêm sua ordem original. Antes do PHP 8.0.0, sua ordem relativa no array ordenado era indefinida.
Nota: Esta função atribui novas chaves aos elementos do
array. Ela removerá todas as chaves existentes que possam ter sido atribuídas, em vez de apenas reordenar as chaves.
Nota:
Redefine o ponteiro interno do array para o primeiro elemento.
arrayO array de entrada.
flags
O segundo parâmetro opcional flags
pode ser usado para modificar o comportamento da ordenação usando estes valores:
Flags dos tipos de ordenação:
SORT_REGULAR - compara os elementos normalmente;
os detalhes são descritos na seção operadores de comparação
SORT_NUMERIC - compara os elementos numericamente
SORT_STRING - compara os elementos como strings
SORT_LOCALE_STRING - compara os elementos como
strings, com base na localidade atual. A localidade
pode ser alterada usando setlocale()
SORT_NATURAL - compara os elementos como strings
usando "ordenação natural" como natsort()
SORT_FLAG_CASE - pode ser combinada
(usando o operador bit a bit OR) com
SORT_STRING ou
SORT_NATURAL para ordenar strings sem fazer distinção entre maiúsculas e minúsculas
Sempre retorna true.
| Versão | Descrição |
|---|---|
| 8.2.0 |
O tipo do retorno agora é true; anteriormente, era bool.
|
Exemplo #1 Exemplo de sort()
<?php
$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>O exemplo acima produzirá:
fruits[0] = apple fruits[1] = banana fruits[2] = lemon fruits[3] = orange
As frutas foram classificadas em ordem alfabética.
Exemplo #2 Exemplo de sort() utilizando comparações naturais ignorando maiúsculas e minúculas
<?php
$fruits = array(
"Orange1", "orange2", "Orange3", "orange20"
);
sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>O exemplo acima produzirá:
fruits[0] = Orange1 fruits[1] = orange2 fruits[2] = Orange3 fruits[3] = orange20
A lista foi ordenada como se tivesse sido utilizada natcasesort().
Nota: Como muitas funções de ordenação do PHP, sort() usa uma implementação da » Quicksort. O pivot é escolhido no meio da partição, o que resulta num processamento rápido para arrays já ordenados. Mas isso é um detalhe de implementação, que não pode ser garantido.
Cuidado ao ordenar arrays com valores com tipos variados, dado que
sort() pode produzir resultados inesperados, mesmo
se flags for SORT_REGULAR.