Funções PHP |
. Glossários Funções PHP - natsort ( ) |
(PHP 4 , PHP 5)
natsort -- Ordena um array utilizando
o algoritmo da "ordem natural"
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:
Exemplo:
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().