Funções PHP |
. Glossários Funções PHP - strnatcmp ( ) |
(PHP 4 , PHP 5)
strnatcmp -- Comparação
de strings usando o algoritmo "natural order"
int strnatcmp ( string str1, string str2)
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:
<?php
$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);
?>
O código acima irá gerar a seguinte saída:
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
)
Para maiores informações veja: Martin Pool's Natural Order String Comparison
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.
Exemplo:
Veja mais detalhes clicando aqui.
Veja também ereg(), strcasecmp(), substr(), stristr(), strcmp(), strncmp(), strncasecmp(), strnatcasecmp(), strstr(), natsort() e natcasesort().