Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist der Unterschied zwischen 0, leer, null und falsch in PHP (Codebeispiel)

Was ist der Unterschied zwischen 0, leer, null und falsch in PHP (Codebeispiel)

不言
不言Original
2018-09-12 16:56:331848Durchsuche

Der Inhalt dieses Artikels befasst sich mit dem Unterschied zwischen 0, leer, null und falsch. Er hat einen bestimmten Referenzwert. Ich hoffe, er wird für Sie hilfreich sein.

$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

Zusammenfassung:

für [0; '0' ; null;false] Fünf Arten von leer bedienen die oben genannten fünf Variablen, alle geben false zurück

stark gleich (

== =

) Vergleiche sind alle falsch, was mit dem starken Sprachergebnis identisch ist (der Vergleich von drei Gleichheitszeichen muss nicht nur Werte vergleichen, sondern auch Typen vergleichen) Aber für (

= =

) Vergleich, es ist notwendig, auf den String-Typ zu achten, der die zugrunde liegende Struktur und Typkonvertierung beinhaltetSchlussfolgerung 1: Verständnis von Variablentypen

1. Existenz: Im zval-Bereich am Ende von PHP (siehe Struktur unten) wird nicht sein Wert gespeichert, sondern nur ein Typ-Flag von IS_NULL (also erklärt es empty(null)=true, isset(null)=false, isset ('')=true)

2.【

0

; '0' ; '' ; false ]: Die unterste Ebene von PHP dient zum Öffnen des ZVAL-Speicherplatzes. Es gibt den Typ Schlussfolgerung 2:

1.

ist nicht gleich der Zeichenfolge

'' (Sie werden verstehen, nachdem Sie darüber nachgedacht haben). Wie kann beim Vergleich desselben Typs eine Zeichenfolge mit [1 Länge] gleich einer Zeichenfolge mit [0 Länge] sein? ) 2. int 0

ist dasselbe wie string

'' Nullgleichheit, (nicht identischer Vergleich, PHP führt Typkonvertierung durch) 3. string '0'

ist ungleich

null, int 0 ist gleich null Verwandt Empfehlungen:

Der Unterschied zwischen 0 und null und false und leer in PHP

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen 0, leer, null und falsch in PHP (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn