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 1. Exemplo de natsort()
O código acima geraria a seguinte saída:
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().