strnatcmp

strnatcmp -- Comparaison de chaînes avec l'algorithme d'"ordre naturel"

Description

int strnatcmp ( string str1, string str2)

strnatcmp( ) implémente l'algorithme de comparaison qui ordonne les chaînes tel qu 'un homme le ferai . Cette fonction est similaire à la fonction strnatcmp( ) , mais la comparaison n 'est pas sensible à la casse . 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

 
icirc;nes

 
standard\n"

 
;

 
usort($arr1

 
,"strcmp")

 
;

 
print_r($arr1)

 
;

 
echo

 
"\nTri

 
de

 
cha

 
icirc;nes

 
\"ordre

 
naturel\"\n"

 
;

 
usort($arr2

 
,"strnatcmp")

 
;

 
print_r($arr2)

 
;

 
?



The code above will generate the following output:
 
Tri

 
de

 
cha

 
icirc;

 
nes

 
standard

 
Array

 
(

 
[0

 
]

 
=

 
img1.png

 
[1

 
]

 
=

 
img10.png

 
[2

 
]

 
=

 
img12.png

 
[3

 
]

 
=

 
img2.png

 
)

 
Tri

 
de

 
cha

 
icirc;nes

 
"ordre

 
naturel

 
"

 
Array

 
(

 
[0

 
]

 
=

 
img1.png

 
[1

 
]

 
=

 
img2.png

 
[2

 
]

 
=

 
img10.png

 
[3

 
]

 
=

 
img12.png

 
)



Pour plus de détails, reportez vous à Natural Order String Comparison de Martin Pool (en anglais).

strnatcmp( ) retourne 0 si str1 est inférieur à str2 ; 0 si str1 est supérieur à str2 , et 0 si les deux chaînes sont égales .

Notez que cette comparaison est sensible à la casse .

Voir aussi ereg( ) , strcasecmp( ) , substr( ) , stristr( ) , strcmp( ) , strncmp( ) , strncasecmp( ) , strnatcasecmp( ) , strstr( ) , natsort( ) et natcasesort( ) .