strcmp(), strcasecmp()

Invité
Invité n'ayant pas de compte PHPfrance

23 juin 2006, 13:18

Plusieurs personnes m'ont dit que strcmp() et strcasecmp() peuvent être très utiles dans certains cas, mais je ne vois pas pourquoi je devrais l'utiliser si j'ai l'opérateur de comparaison ===. Est-ce que vous pourriez m'expliquer ce que la fonction apporte?

Mammouth du PHP | 684 Messages

26 juin 2006, 09:57

Salut.
Il y a déjà une petite différence entre === et ==.
Le premier fait une comparaison de tes caractères mais avec en plus la vérification du type alors que == ne fait que la comparaison.

Exemple :
<?php
if (4 == '4') {
    echo '4 entier == a 4 caractère.';
}
if (4 === '4') {
    echo 'Ne passe pas ici car 4 entier est different de 4 caractère.';
}
?>
Pour ce qui est de strcmp(), tu peux l'utiliser comme utiliser ==. Il doit sagir de voir lequel est le plus rapide et le plus optimisé mais le gain doit être minime, sauf dans le cas d'une instance utilisation.
Zigz4g

Invité
Invité n'ayant pas de compte PHPfrance

29 juin 2006, 14:35

php.net:
strcmp() retourne < 0 si str1 est inférieure à str2; > 0 si str1 est supérieure à str2, et 0 si les deux chaînes sont égales.
Je ne comprends pas comment une chaine peut être inférieure ou supérieure à une autre.