Maison > développement back-end > tutoriel php > 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)

不言
Libérer: 2023-04-04 07:10:01
original
1875 Les gens l'ont consulté

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
Copier après la connexion

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!

Étiquettes associées:
php
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal