Manuel PHP
Précédent |  | Suivant

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

Précédent | Sommaire | Suivant
strnatcasecmp | Niveau supérieur | strncasecmp