natsort
(PHP 4, PHP 5)
natsort — Ordena um array utilizando o algoritmo da "ordem natural"
Descrição
void natsort
( array $array
)
Essa função é um implementação do algoritmo que ordena strings alfanuméricas da forma como um ser humano faria. Isso é chamado de "ordenação natural". Um exemplo da diferença entre esse algoritmo e o algoritmo com o qual o computador classifica strings (usado em sort()) pode ser visto abaixo:
Example#1 Exemplo de natsort()
$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");
sort($array1);
echo "Classificação normal\n";
print_r($array1);
natsort($array2);
echo "\nClassificação da \"ordem natural\"\n";
print_r($array2);
O código acima geraria a seguinte saída:
Classificação normal Array ( [0] => img1.png [1] => img10.png [2] => img12.png [3] => img2.png ) Classificação da "ordem natural" Array ( [3] => img1.png [2] => img2.png [1] => img10.png [0] => img12.png )
Para mais informações veja: Martin Pool's » Natural Order String Comparison page.
Nota: Se quiser manter a correlação entre chaves e valores, considere a possibilidade de utilizar uasort($arr, 'strnatcmp').
Veja também natcasesort(), strnatcmp() e strnatcasecmp().