Función strnatcmp
La función strnatcmp realiza una comparación de dos cadenas teniendo en cuenta el orden natural de los caracteres.
A diferencia de la comparación ordinaria, esta función reconoce los números dentro de las cadenas y los compara por valor numérico.
La función devuelve 0 si las cadenas son idénticas, un número -1 si la primera cadena es menor que la segunda,
y un número mayor que 1 si la primera cadena es mayor que la segunda.
Sintaxis
strnatcmp(string $str1, string $str2): int
Ejemplo
Comparación de cadenas con números de manera ordinaria y con strnatcmp:
<?php
$res1 = strcmp("file2.txt", "file10.txt");
$res2 = strnatcmp("file2.txt", "file10.txt");
echo "strcmp result: " . $res1 . "\n";
echo "strnatcmp result: " . $res2;
?>
Resultado de la ejecución del código:
strcmp result: 1
strnatcmp result: -1
Ejemplo
Comparación de cadenas con diferentes números:
<?php
$res = strnatcmp("image5.jpg", "image15.jpg");
echo $res;
?>
Resultado de la ejecución del código:
-1
Ejemplo
Comparación de cadenas idénticas:
<?php
$res = strnatcmp("hello123", "hello123");
echo $res;
?>
Resultado de la ejecución del código:
0
Véase también
-
la función
strcmp,
que realiza una comparación de cadenas segura a nivel binario -
la función
strcasecmp,
que compara cadenas sin distinguir entre mayúsculas y minúsculas -
la función
natcasesort,
que ordena un array utilizando un orden natural sin distinguir entre mayúsculas y minúsculas