Heim > Artikel > Backend-Entwicklung > Was ist der Unterschied zwischen 0, leer, null und falsch in PHP (Codebeispiel)
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 ungleichnull, 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!