Manuel PHP
Précédent |  | Suivant

# strnatcmp

(PHP 4 >= 4.0.0)

strnatcmp -- Compare des chaînes par ordre "naturel"

## Description

``int strnatcmp` (string str1, string str2)`

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înes (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);
    ?>

L'exemple précédent affiche ceci :

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

Pour plus d'informations, reportez-vous à Martin Pool Natural Order String Comparison.

Comme les autres fonctions de comparaison de chaînes, elle retourne une valeur < 0 si `str1` est plus petite 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