strnatcmp

(PHP 4, PHP 5)

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 ferait. 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 :

Exemple 2633. Exemple avec strnatcmp()

<?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
)

    

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

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

Notez que cette comparaison est sensible à la casse.

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