Comparaison de chaînes en PHP : '==', '===' ou 'strcmp()' ?
Comparaison de chaînes dans PHP peut être réalisé en utilisant différents opérateurs tels que '==', '===' ou la fonction 'strcmp()'. Cette comparaison consiste à vérifier si deux chaînes sont égales ou non.
'==' vs. '==='
L'opérateur '==' vérifie l'égalité uniquement et ne prend pas en compte le type des opérandes. Cela signifie que « 0 » est considéré comme égal à « faux » dans la comparaison « == ». D'un autre côté, l'opérateur '===' vérifie à la fois l'égalité et l'identité, ce qui signifie que les opérandes doivent avoir la même valeur et le même type. Ainsi, '0' n'est pas égal à 'false' dans la comparaison '==='.
Fonction 'strcmp()'
La 'strcmp()' la fonction compare deux chaînes lexicographiquement. Il renvoie une valeur négative si la première chaîne est inférieure à la deuxième chaîne, une valeur positive si la première chaîne est supérieure à la deuxième chaîne et 0 si elles sont égales.
Quand utiliser ' strcmp()'?
Bien que '===' soit généralement suffisant pour la comparaison de chaînes dans la plupart des cas, 'strcmp()' est utile lorsque vous avez besoin pour :
Dans le code fourni extrait :
if ($password === $password2) { ... }
Cette comparaison utilisant '===' ne retournera vrai que si les mots de passe ont à la fois la même casse et la même valeur. Si vous souhaitez autoriser la comparaison des mots de passe sans distinction de casse, vous devrez utiliser 'strcmp()' ou 'strcasecmp()'.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!