Maison  >  Article  >  développement back-end  >  Quelle est la différence entre 0, vide, null et false en php (exemple de code)

Quelle est la différence entre 0, vide, null et false en php (exemple de code)

不言
不言original
2018-09-12 16:56:331848parcourir

Le contenu de cet article porte sur la différence entre 0, vide, null et false en PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

$a =  0; 
$b="0"; 
$c= ''; 
$d= null; 
$e = false;
 
echo "5个变量-原始测试类型";
    var_dump($a);//int 0
    var_dump($b);//string '0'
    var_dump($c);//string ''
    var_dump($d);//null
    var_dump($e);//boolean false
 
echo "<h4>empty测试</h4>";
    var_dump(empty($a));//true
    var_dump(empty($b));//true
    var_dump(empty($c));//true
    var_dump(empty($d));//true
    var_dump(empty($e));//true
 
echo "<hr>";
    var_dump(isset($a));//true
    var_dump(isset($b));//true
    var_dump(isset($c));//true
    var_dump(isset($d));//【false】 见结论一
    var_dump(isset($e));//true
 
echo "<h4>(==)双等式测试</h4>";
    var_dump($a == $b);//true
    var_dump($a == $c);//true
    var_dump($a == $d);//true
    var_dump($a == $e);//true !!
 
    var_dump($b == $c);//【false】见结论二
    var_dump($b == $d);//【false】见结论二
    var_dump($b == $e);//true
 
    var_dump($c == $d);//true
    var_dump($c == $e);//true
 
echo "<h4>(===)三等式测试</h4>";
    var_dump($a === $b);//false
    var_dump($a === $c);//false
    var_dump($a === $d);//false
    var_dump($a === $e);//false
 
    var_dump($b === $c);//false
    var_dump($b === $d);//false
    var_dump($b === $e);//false
 
    var_dump($c === $d);//false
    var_dump($c === $e);//false

Résumé :

pour [0 '0' ; >; null; false] Cinq types de vide exploitent les cinq variables ci-dessus, tous renvoient false

fortement égal à (

= ==

) les comparaisons sont toutes fausses, tout comme les résultats en langage fort (la comparaison de trois signes égaux doit non seulement comparer les valeurs, mais aussi les types) mais pour (

==

) comparaison, il faut faire attention au type de chaîne, qui implique la structure sous-jacente et la conversion de typeConclusion 1 : Compréhension des types de variables

1.null signifie non-existence : dans l'espace zval (structure) au bas de PHP Voir ci-dessous) ne stocke pas sa valeur, stocke uniquement un indicateur de type et son IS_NULL (il explique donc vide(null)=true, isset(null)=false, isset('' )=true)

2 .[

0

; '0' ; '' ; false ] : Ces quatre existent, et la couche inférieure de php ouvre l'espace zval. Le stockage a une valeur et un type Conclusion 2 :

1 chaîne

'0'

n'est pas égale à une chaîne. '' (pensez-y) Vous comprendrez comment il est possible de comparer des chaînes de [1 longueur] de même type pour être égales à des chaînes de [0 longueur]) 2, int

0

mais c'est la même chose que la chaîne '' Null est égal, (comparaison non identique, php effectuera la conversion de type) chaîne

'0'

n'est pas égal à null, int 0 est égal à null Recommandations associées :

La différence entre 0 et null et faux et vide en 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