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:
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
) |
Veja também natcasesort(), strnatcmp() e strnatcasecmp().