sort

(PHP 4, PHP 5, PHP 7)

sortOrdena um array

Descrição

sort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) : bool

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.

Parâmetros

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

Valor Retornado

Retorna TRUE em caso de sucesso ou FALSE em caso de falha.

Changelog

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

Exemplos

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($fruitsSORT_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().

Notas

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.

Aviso

Tenha cuidado quando ordenando arrays com vários tipos de valores, porque sort() pode produzir um resultado indesejado.

Veja Também