Maison  >  Article  >  développement back-end  >  Pourquoi `$a == NULL` est-il évalué comme vrai alors que `$a` est une chaîne vide en PHP ?

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

Linda Hamilton
Linda Hamiltonoriginal
2024-11-04 13:31:02441parcourir

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>

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>

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!

Déclaration:
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