Esta função implementa um algoritmo de comparação de strings alfanumérico do jeito que um ser humano faz, isto é descrito como "ordem natural". Um exemplo da diferença entre este algoritmo e os algoritmos regulares de ordenação (usado em strcmp()) pode ser visto abaixo:
$arr1 = $arr2 = array("img12.png","img10.png","img2.png","img1.png"); echo "Comparação de string padrão\n"; usort($arr1,"strcmp"); print_r($arr1); echo "\nComparação usando ordem natural\n"; usort($arr2,"strnatcmp"); print_r($arr2); |
Comparação de string padrão Array ( [0] => img1.png [1] => img10.png [2] => img12.png [3] => img2.png ) Comparação usando ordem natural Array ( [0] => img1.png [1] => img2.png [2] => img10.png [3] => img12.png ) |
Similar a outras funções de comparação de string, esta retorna < 0 se str1 é menor do que str2; > 0 se str1 é maior do que str2, e 0 se forem iguais.
Note que esta coparação diferencia maiúsculas e minúsculas.
Veja também ereg(), strcasecmp(), substr(), stristr(), strcmp(), strncmp(), strncasecmp(), strnatcasecmp(), strstr(), natsort() e natcasesort().