SommaireTelecharger la documentationChapitre suivantChapitre precedent  

 
Raccourci :  
Chaîne de caractères

addcslashes
addslashes
bin2hex
chop
chr
chunk_split
convert_cyr_string
count_chars
crc32
crypt
echo
explode
get_html_translation_table
get_meta_tags
hebrev
hebrevc
htmlentities
htmlspecialchars
implode
join
levenshtein
localeconv
ltrim
md5
metaphone
nl2br
ord
parse_str
print
printf
quoted_printable_decode
quotemeta
rtrim
sscanf
setlocale
similar_text
soundex
sprintf
strncasecmp
strcasecmp
strchr
strcmp
strcoll
strcspn
strip_tags
stripcslashes
stripslashes
stristr
strlen
strnatcmp
strnatcasecmp
strncmp
str_pad
strpos
strrchr
str_repeat
strrev
strrpos
strspn
strstr
strtok
strtolower
strtoupper
str_replace
strtr
substr
substr_count
substr_replace
trim
ucfirst
ucwords
wordwrap

8.21.50 strnatcmp
[Notes en ligne] [Exemples]

Compare des chaînes par ordre "naturel"

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 @xref{function.ereg,,ereg()}, strcasecmp(), substr(), stristr(), strcmp(), strncmp(), strnatcasecmp(), strstr(), natsort(), strncasecmp() et natcasesort().


Chapitre précédentChapitre suivantAccueil nexen.net