(PHP 4, PHP 5, PHP 7, PHP 8)
strnatcmp — Comparación de strings con el algoritmo de "orden natural"
Implementa el algoritmo de comparación que ordena los strings como lo haría un ser humano. Tenga en cuenta que esta comparación distingue entre mayúsculas y minúsculas.
string1El primer string.
string2El segundo string.
Devuelve un valor inferior a 0 si string1
es inferior a string2; un valor superior
a 0 si string1 es superior a
string2, y 0 si son
iguales.
No se puede deducir ningún significado particular de este valor,
excepto su signo.
| Versión | Descripción |
|---|---|
| 8.2.0 |
Esta función ya no garantiza retornar
strlen($string1) - strlen($string2) cuando las longitudes
de las strings no son iguales, y puede retornar
-1 o 1 en su lugar.
|
Un ejemplo de la diferencia de tratamiento con el algoritmo estándar se presenta a continuación:
Ejemplo #1 strcmp()
<?php
$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
echo "Ordenación de strings estándar\n";
usort($arr1, "strcmp");
print_r($arr1);
echo "\nOrdenación de strings \"orden natural\"\n";
usort($arr2, "strnatcmp");
print_r($arr2);
?>El ejemplo anterior mostrará :
Ordenación de strings estándar
Array
(
[0] => img1.png
[1] => img10.png
[2] => img12.png
[3] => img2.png
)
Ordenación de strings "orden natural"
Array
(
[0] => img1.png
[1] => img2.png
[2] => img10.png
[3] => img12.png
)
Natural Order String
Comparison de Martin Pool (en inglés).