Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen 0, „“, null und false in PHP

Der Unterschied zwischen 0, „“, null und false in PHP

WBOY
WBOYOriginal
2016-08-08 09:26:21871Durchsuche

Viele Leute in PHP verstehen immer noch nicht den Unterschied zwischen 0, „“, null und false in PHP. Diese Unterschiede wirken sich manchmal auf die Richtigkeit und Sicherheit der Datenbeurteilung aus und verursachen große Probleme beim Testlauf des Programms .
Schauen wir uns zunächst ein Beispiel an:

$str1 = null;

$str2 = false;

echo $str1 == $str2 ? 'Gleich' : 'Nicht gleich';

$str3 = "";

$str4 = 0;

echo $str3==$str4 ? ' Gleich' : 'Nicht gleich';

$str5 = 0;

$str6 = '0';

echo $str5===$str6 ? Gleich': 'Nicht gleich';

$str7=0;

$str=false;

echo $str7==$str8 ? 'Gleich': 'Nicht equal' ;

?>
Laufergebnis:

//Gleich, gleich, nicht gleich, gleich.
Der Grund dafür ist, dass Variablen in PHP in C-Sprachstrukturen gespeichert werden. Leere Zeichenfolgen, NULL und false werden alle mit dem Wert 0 gespeichert. Diese Struktur hat einen zend_uchartype; Solche Mitgliedsvariablen werden verwendet um den Typ der Variablen zu speichern, und der Typ der leeren Zeichenfolge ist string, der Typ von NULL ist NULL und false ist boolesch.

Sie können echo gettype(''); und echogettype(NULL); verwenden, um dies zu drucken! Der ===-Operator vergleicht nicht nur Werte, sondern auch Typen, daher ist der dritte Operator falsch!
Man kann also sagen, dass === gleich der folgenden Funktion ist:

Funktioneq($v1,$v2) {
if(
$v1==$v2&&gettype ($v1) ==gettype($v2)) {
return
1 ;
} else {
return
0;
}
}

so leer String (''), false, NULL und 0 sind im Wert gleich, aber unterschiedlich im Typ!

Hinweis:

NULL ist ein besonderer Typ.
NULL in beiden Fällen
1. $var = NULL;
2. $var ;3."", 0, "0", NULL, FALSE, array(), var $var; und Objekte ohne Attribute werden als leer betrachtet. Wenn var leer ist, wird TRUE zurückgegeben.

Das Obige stellt die Unterschiede zwischen 0, „“, null und false in PHP vor, einschließlich relevanter Inhalte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

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