Maison > développement back-end > tutoriel php > `==` vs `===` de PHP : quelle est la différence entre les comparaisons d'égalité et d'identité ?

`==` vs `===` de PHP : quelle est la différence entre les comparaisons d'égalité et d'identité ?

Linda Hamilton
Libérer: 2024-12-04 16:20:16
original
173 Les gens l'ont consulté

PHP's `==` vs. `===`: What's the Difference Between Equality and Identity Comparisons?

Opérateurs de comparaison d'égalité et d'identité PHP : comprendre la différence

En PHP, les opérateurs de comparaison sont utilisés pour évaluer l'égalité ou l'identité de deux variables . Parmi ces opérateurs, l'opérateur d'égalité (==) et l'opérateur d'identité (===) jouent un rôle crucial. Cet article vise à élucider la distinction entre ces deux opérateurs, en fournissant une compréhension claire de leur fonctionnement.

Opérateur d'égalité (==)

L'égalité vaguement typée L’opérateur fournit une approche indulgente de la comparaison. Il tente de convertir les types d'opérandes pour qu'ils correspondent, puis compare leurs valeurs. Cela permet des situations dans lesquelles des opérandes de types différents peuvent toujours renvoyer VRAI ou FAUX selon qu'ils sont logiquement égaux.

Par exemple :

$a = 1;
$b = '1';

// Returns TRUE
var_dump($a == $b);
Copier après la connexion

Dans cet exemple, l'entier $a est converti en chaîne (« 1 ») pour correspondre à $b. Puisque les deux valeurs sont maintenant les mêmes (« 1 »), la comparaison donne VRAI.

Opérateur d'identité (===)

Contrairement à l'égalité mal typée opérateur, l’opérateur d’identité exige une égalité stricte et une identité de type. Il ne convertit ni n'interprète les types de données des opérandes. Au lieu de cela, il vérifie strictement si les valeurs et les types des opérandes sont identiques.

$a = 1;
$b = '1';

// Returns FALSE
var_dump($a === $b);
Copier après la connexion

Dans cet exemple, l'opérateur d'identité renvoie FALSE car le type de $a (entier) et $b (chaîne) est différents, même si leurs valeurs sont les mêmes.

Comprendre la différence

La principale différence entre l'opérateur d'égalité et l'opérateur d'identité réside dans sa gestion de la conversion de type. == permet la conversion de type, tandis que === insiste sur la préservation du type.

Lors de l'utilisation de ==, il est important d'être conscient des possibles résultats imprévus dus à la conversion de type. === fournit une comparaison plus fiable en garantissant que les deux valeurs sont non seulement égales mais également du même type de données.

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!

source:php.cn
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 articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal