array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.sort.php', 1 => 'sort', ), 'up' => array ( 0 => 'ref.array.php', 1 => 'Funções para Array', ), 'prev' => array ( 0 => 'function.sizeof.php', 1 => 'sizeof', ), 'next' => array ( 0 => 'function.uasort.php', 1 => 'uasort', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/array/functions/sort.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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.
array
O 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
.