(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.
string1
El primer string.
string2
El segundo string.
Returns a value less than 0 if string1
is less than string2
; a value greater
than 0 if string1
is greater than
string2
, and 0
if they
are equal.
No particular meaning can be reliably inferred from the value aside
from its sign.
Versión | Descripción |
---|---|
8.2.0 |
This function is no longer guaranteed to return
strlen($string1) - strlen($string2) when string lengths
are not equal, but may now return -1 or
1 instead.
|
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 resultado del ejemplo sería:
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).