strnatcmp

(PHP 4 )

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().