Quelle est la différence entre les opérateurs de comparaison d'égalité (== double signe égal) et d'identité (=== triple signe égal) de PHP ?

WBOY
Libérer: 2023-09-07 17:46:01
avant
1326 Les gens l'ont consulté

Quelle est la différence entre les opérateurs de comparaison dégalité (== double signe égal) et didentité (=== triple signe égal) de PHP ?

En PHP, les doubles égaux (==) et les triples égaux (===) sont des opérateurs de comparaison utilisés pour comparer les valeurs d'égalité. Cependant, ils diffèrent par leur comportement et la rigueur du processus de comparaison.

Double est égal à (==)

L'opérateur double égal vérifie l'égalité entre deux valeurs, mais effectue une coercition de type si les deux valeurs ont des types de données différents. Cela signifie que PHP essaiera de convertir la valeur en type générique avant d'effectuer la comparaison. Voici quelques points clés sur l’opérateur double égal :

  • Si deux valeurs ont le même type, cela se comporte comme l'opérateur triple égal (comparaison stricte).

  • Si deux valeurs ont des types différents, PHP tentera de les convertir en un type commun. Par exemple, si vous comparez un entier et une chaîne, PHP tentera de convertir la chaîne en entier.

  • Les chaînes numériques sont automatiquement converties en nombres par rapport aux nombres entiers ou aux nombres à virgule flottante.

  • Les valeurs booléennes sont comparées sous forme d'entiers (vrai vaut 1, faux vaut 0).

  • Null est traité comme égal à la chaîne vide, au tableau vide ou à zéro.

  • Les tableaux et les objets sont comparés non pas par leur contenu, mais par leur identité.

Exemple 1

Copier après la connexion

Sortie

Equal
Copier après la connexion
Copier après la connexion
Copier après la connexion

Instructions

L'opérateur de double égalité effectue une coercition de type, donc la chaîne "5" est convertie en entier 5 et la comparaison renvoie vrai.

Exemple 2

Copier après la connexion

Sortie

Equal
Copier après la connexion
Copier après la connexion
Copier après la connexion

Instructions

L'opérateur double égal effectue une coercition de type. La chaîne « 5.0 » est convertie en nombre à virgule flottante 5.0 et la comparaison renvoie vrai.

Triple signe égal (===)

L'opérateur triple égalité, également connu sous le nom d'opérateur d'identité, effectue une comparaison stricte entre deux valeurs. Il vérifie l’égalité des valeurs et des types sans effectuer aucune coercition de type. L'opérateur triple égal est plus strict et est généralement considéré comme plus sûr à utiliser car il évite les conversions de type inattendues ou inattendues. Voici quelques points clés sur l’opérateur triple égal :

  • Il renvoie vrai uniquement si les deux valeurs comparées ont le même type et la même valeur.

  • L'opérateur renvoie false si les types sont différents ou si une valeur ne peut pas être convertie en type de l'autre valeur.

  • Aucune conversion de type ou conversion n'est effectuée avant la comparaison.

  • Ceci est généralement préféré lors de la comparaison de valeurs où l'intégrité du type est importante.

Exemple 1

Copier après la connexion

Sortie

Not Equal
Copier après la connexion

Instructions

L'opérateur triple égal effectue une comparaison stricte, en tenant compte à la fois de la valeur et du type. Puisque$value1 est un entier et$value2 est une chaîne, ils ne sont pas considérés comme égaux.

Exemple 2

Copier après la connexion

Sortie

Equal
Copier après la connexion
Copier après la connexion
Copier après la connexion

Instructions

Étant donné que$value1 et$value2 sont tous deux des entiers avec la même valeur 10, une comparaison stricte utilisant === renvoie vrai et "Equal" est renvoyé en sortie.

Conclusion

En PHP, le comportement de comparaison des opérateurs double égal (==) et triple égal (===) est différent. Double égal applique une vérification d'égalité lâche par type, tentant de convertir la valeur en un type commun avant de comparer. En revanche, triple égal effectue une vérification d'égalité stricte sans contrainte de type, en tenant compte à la fois de la valeur et du type. Le signe du troisième niveau est généralement privilégié pour sa fiabilité et sa prévisibilité. Cela permet d'éviter un comportement inattendu provoqué par des conversions de type involontaires. Comprendre ces différences permet aux développeurs de choisir l'opérateur approprié en fonction des exigences de comparaison souhaitées et de maintenir l'exactitude du code.

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!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!