Pourquoi `$a == NULL` est-il évalué comme vrai alors que `$a` est une chaîne vide en PHP ?

Linda Hamilton
Libérer: 2024-11-04 13:31:02
original
489 Les gens l'ont consulté

Why does `$a == NULL` evaluate to true when `$a` is an empty string in PHP?

NULL en PHP : lorsqu'une chaîne vide n'est pas nulle

Considérez le code PHP suivant :

<code class="php">$a = '';
if($a == NULL) {
  echo 'is null';
}</code>
Copier après la connexion

Pourquoi affiche-t-il « est nul » alors que $a est clairement une chaîne vide ? Est-ce un bug ?

Comprendre l'égalité et l'identité

La clé pour comprendre ce comportement réside dans la distinction entre égalité (==) et identité (===) . En PHP, == vérifie si deux opérandes ont la même valeur, tandis que === vérifie s'ils ont la même valeur et le même type.

Dans le code ci-dessus, $a est une chaîne vide, ce qui est un faux valeur. En PHP, les valeurs fausses sont traitées comme égales aux tableaux NULL, false, 0 et vides. Par conséquent, $a == NULL est évalué à true.

Utiliser === pour vérifier NULL

Pour vérifier spécifiquement si une variable est NULL, utilisez l'opérateur d'identité (===):

<code class="php">if($variable === NULL) {...}</code>
Copier après la connexion

Notez le triple signe égal. En utilisant ===, vous vous assurez que la variable est non seulement fausse, mais aussi de type NULL.

Conclusion

La chaîne vide en PHP n'est pas considérée comme NULL . Pour vérifier explicitement NULL, utilisez l'opérateur d'identité (===). Cette distinction est cruciale pour garantir une comparaison et une logique précises dans votre code PHP.

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