strnatcmp() implémente un algorithme de comparaison qui traite les chaînes alpha-numériques comme un être humain : c'est ce qui est appelé l'"ordre naturel". Un exemple de la différence de traitement entre un tel algorithme et un algorithme de comparaison de chaîne (comme lorsqu'on utilise strcmp()) est illustré ci dessous :
<?php $arr1 = $arr2 = array("img12.png","img10.png","img2.png","img1.png"); echo "Comparaison standard de chaînes\n"; usort($arr1,"strcmp"); print_r($arr1); echo "\nComparaison de chaînes par ordre naturel\n"; usort($arr2,"strnatcmp"); print_r($arr2); ?> |
Comparaison standard de chaînes
Array
(
[0] => img1.png
[1] => img10.png
[2] => img12.png
[3] => img2.png
)
Comparaison de chaînes par ordre naturel
Array
(
[0] => img1.png
[1] => img2.png
[2] => img10.png
[3] => img12.png
)
Comme les autres fonctions de comparaisons de chaînes, elle retourne une valeur < 0 si str1 est plus petites que str2; > 0 si str1 est plus grande que str2, et 0 si elles sont égales.
Notez que ces comparaisons sont sensibles à la casse.
Voir aussi ereg(), strcasecmp(), substr(), stristr(), strcmp(), strncmp(), strnatcasecmp(), strstr(), natsort(), strncasecmp() et natcasesort().
Précédent | Sommaire | Suivant |
strlen | Niveau supérieur | strnatcasecmp |