Utilice el algoritmo "natural" para comparar dos cadenas (sin distinguir entre mayúsculas y minúsculas):
<?phpecho strnatcasecmp("2¡Hola mundo!","10¡Hola MUNDO!");echo "<br>";echo strnatcasecmp("10¡Hola mundo!","2¡Hola MUNDO!");?>La función strnatcasecmp() utiliza un algoritmo "natural" para comparar dos cadenas (no distingue entre mayúsculas y minúsculas).
En aritmética natural el número 2 es menor que el número 10. En la clasificación por computadora, 10 es menor que 2 porque el primer número de 10 es menor que 2.
Nota: strnatcasecmp() no distingue entre mayúsculas y minúsculas.
strnatcasecmp( cadena1,cadena2 )
parámetro | describir |
---|---|
cadena1 | Requerido. Especifica la primera cadena a comparar. |
cadena2 | Requerido. Especifica la segunda cadena que se va a comparar. |
Valor de retorno: | La función devuelve: 0 - si las dos cadenas son iguales <0 - si cadena1 es menor que cadena2 >0 - si cadena1 es mayor que cadena2 |
---|---|
Versión PHP: | 4+ |
La diferencia entre el algoritmo natural (strnatcmp) y el algoritmo de clasificación de cadenas por computadora convencional (strcmp):
<?php$arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200");echo "Comparación de cadenas estándar" ."<br>";usort($arr1,"strcmp");print_r($arr1);echo "<br>";echo "Comparación de cadenas de orden natural"."<br>";usort($arr2,"strnatcmp");print_r($arr2);?>