Fonction strnatcmp
La fonction strnatcmp effectue une comparaison de deux chaînes en tenant compte de l'ordre naturel des caractères.
Contrairement à une comparaison standard, cette fonction reconnaît les nombres à l'intérieur des chaînes et les compare par leur valeur numérique.
La fonction retourne 0 si les chaînes sont identiques, un nombre -1 si la première chaîne est inférieure à la seconde,
et un nombre supérieur à 1 si la première chaîne est supérieure à la seconde.
Syntaxe
strnatcmp(string $str1, string $str2): int
Exemple
Comparaison de chaînes avec nombres de manière standard et avec strnatcmp :
<?php
$res1 = strcmp("file2.txt", "file10.txt");
$res2 = strnatcmp("file2.txt", "file10.txt");
echo "strcmp result: " . $res1 . "\n";
echo "strnatcmp result: " . $res2;
?>
Résultat de l'exécution du code :
strcmp result: 1
strnatcmp result: -1
Exemple
Comparaison de chaînes avec des nombres différents :
<?php
$res = strnatcmp("image5.jpg", "image15.jpg");
echo $res;
?>
Résultat de l'exécution du code :
-1
Exemple
Comparaison de chaînes identiques :
<?php
$res = strnatcmp("hello123", "hello123");
echo $res;
?>
Résultat de l'exécution du code :
0
Voir aussi
-
la fonction
strcmp,
qui effectue une comparaison de chaînes binaire-safe -
la fonction
strcasecmp,
qui compare les chaînes sans tenir compte de la casse -
la fonction
natcasesort,
qui trie un tableau en utilisant l'ordre naturel sans tenir compte de la casse