Maison > Article > développement back-end > Quelle est la différence entre 0, vide, null et false en php (exemple de code)
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
0mais 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 phpCe 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!