Esta función implementa un algoritmo de comparación que ordena las cadenas alfanuméricas como lo haría un ser humano, que es lo que se denomina "orden natural". A continuación se puede ver un ejemplo de la diferencia entre este algoritmo y los algoritmos de ordenación de cadenas habituales en los ordenadores (utilizados en strcmp()):
$matriz1 = $matriz2 = array ("img12.png","img10.png","img2.png","img1.png"); echo "Comparación de cadenas estándar\n"; usort($matriz1,"strcmp"); print_r($matriz1); echo "\nComparación de cadenas en orden natural\n"; usort($matriz2,"strnatcmp"); print_r($matriz2); |
Comparación de cadenas estándar Array ( [0] => img1.png [1] => img10.png [2] => img12.png [3] => img2.png ) Comparación de cadenas en orden natural Array ( [0] => img1.png [1] => img2.png [2] => img10.png [3] => img12.png ) |
De forma similar a otras funciones de comparación de cadenas, esta devuelve < 0 si cad1 es menor que cad2; > 0 si cad1 es mayor que cad2, y 0 si son iguales.
Nótese que esta comparación es sensible a mayúsculas y minúsculas.
Vea también ereg(), strcasecmp(), substr(), stristr(), strcmp(), strncmp(), strnatcasecmp(), y strstr().