(PHP 4, PHP 5, PHP 7)
sort — Ordena um array
&$array
[, int $sort_flags
= SORT_REGULAR
] )Essa função ordena um array. Os elementos serão ordenados do menor para o maior ao final da execução dessa função.
Nota:
Se dois itens são comparados como iguais, sua ordenação no array final é indefinidia.
array
O array de entrada.
sort_flags
O segundo parâmetro opcional sort_flags
pode ser usado para modificar o comportamento da ordenação usando estes valores:
Flags para tipo de ordenação:
SORT_REGULAR
- compara os itens normalmente
(não modifica o tipo)
SORT_NUMERIC
- compara os items numericamente
SORT_STRING
- compara os itens como strings
SORT_LOCALE_STRING
- compara os itens como
strings, utilizando o locale atual. Utiliza o locale
que pode ser modificado com setlocale()
SORT_NATURAL
- compara os itens como strings
utilizando "ordenação natural" tipo natsort()
SORT_FLAG_CASE
- pode ser combinado
(bitwise OR) com
SORT_STRING
ou
SORT_NATURAL
para ordenar strings sem considerar maiúsculas e minúsculas
Retorna TRUE
em caso de sucesso ou FALSE
em caso de falha.
Versão | Descrição |
---|---|
5.4.0 |
Acrescentado suporte a SORT_NATURAL e
SORT_FLAG_CASE em sort_flags
|
5.0.2 |
Adicionado SORT_LOCALE_STRING
|
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 irá imprimir:
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 irá imprimir:
fruits[0] = Orange1 fruits[1] = orange2 fruits[2] = Orange3 fruits[3] = orange20
A lista foi ordenada como se tivesse sido utilizada natcasesort().
Nota: Esta função define novas chaves para os elementos em
array
. Ela irá remover qualquer chave que você tenha definido, ao invés de simplesmente reordenar as chaves.
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.
Tenha cuidado quando ordenando arrays com vários tipos de valores, porque sort() pode produzir um resultado indesejado.