(PHP 4, PHP 5, PHP 7, PHP 8)
strnatcmp — Comparaison de chaînes avec l'algorithme d'"ordre naturel"
Implémente l'algorithme de comparaison qui ordonne les chaînes tel qu'un homme le ferait. Notez que cette comparaison est sensible à la casse.
string1La première chaîne.
string2La seconde chaîne.
Retourne une valeur inférieure à 0 si string1
est inférieure à string2 ; une valeur supérieure
à 0 si string1 est supérieure à
string2, et 0 si elles
sont égales.
Aucune signification particulière ne peut être déduite de cette valeur,
hormis son signe.
| Version | Description |
|---|---|
| 8.2.0 |
Cette fonction ne garantit plus de retourner
strlen($string1) - strlen($string2) lorsque les longueurs
des chaînes ne sont pas égales, et peut désormais retourner
-1 ou 1 à la place.
|
Un exemple de la différence de traitement avec l'algorithme standard est présenté ci-dessous :
<?php
$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
echo "Tri de chaînes standard\n";
usort($arr1, "strcmp");
print_r($arr1);
echo "\nTri de chaînes \"ordre naturel\"\n";
usort($arr2, "strnatcmp");
print_r($arr2);
?>L'exemple ci-dessus va afficher :
Tri de chaînes standard
Array
(
[0] => img1.png
[1] => img10.png
[2] => img12.png
[3] => img2.png
)
Tri de chaînes "ordre naturel"
Array
(
[0] => img1.png
[1] => img2.png
[2] => img10.png
[3] => img12.png
)
Natural Order String
Comparison de Martin Pool (en anglais).