Use o algoritmo "natural" para comparar duas strings (diferencia maiúsculas de minúsculas):
<?phpecho strnatcmp("2Olá mundo!","10Olá mundo!");echo "<br>";echo strnatcmp("10Olá mundo!","2Olá mundo!");?>A função strnatcmp() usa um algoritmo "natural" para comparar duas strings (diferencia maiúsculas de minúsculas).
Na aritmética natural, o número 2 é menor que o número 10. Na classificação por computador, 10 é menor que 2 porque o primeiro número de 10 é menor que 2.
Nota: Esta função diferencia maiúsculas de minúsculas.
strnatcmp( string1,string2 )
parâmetro | descrever |
---|---|
string1 | Obrigatório. Especifica a primeira sequência a ser comparada. |
string2 | Obrigatório. Especifica a segunda sequência a ser comparada. |
Valor de retorno: | A função retorna: 0 - se as duas strings forem iguais <0 - se string1 for menor que string2 >0 - se string1 for maior que string2 |
---|---|
Versão PHP: | 4+ |
A diferença entre o algoritmo natural (strnatcmp) e o algoritmo convencional de classificação de strings de computador (strcmp):
<?php$arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200");echo "Comparação de string padrão" ."<br>";usort($arr1,"strcmp");print_r($arr1);echo "<br>";echo "Comparação de strings de ordem natural"."<br>";usort($arr2,"strnatcmp");print_r($arr2);?>