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!