Im vorherigen Artikel „PHP-Array-Lernen: So entfernen Sie leere oder doppelte Elemente“ haben wir gelernt, dass wir die Funktion empty() verwenden können, um festzustellen, ob ein Wert leer ist. Welche Möglichkeiten gibt es also, Nullwerte in PHP zu überprüfen? Dieses Mal lernen wir einige gängige Methoden kennen. Wenn Sie sie benötigen, können Sie mehr darüber erfahren ~
Das Thema des heutigen Artikels lautet: Verwenden von PHP, um zu erkennen, ob ein Wert leer ist oder nicht. Okay, kommen wir gleich zur Sache. Hier sind einige gängige Methoden.
Methode 1: Verwenden Sie empty()
Leerfunktion: Ermitteln Sie, ob die Variable „leer“ ist.
Jede nicht initialisierte Variable, eine Variable mit dem Wert 0 oder falsch oder eine leere Zeichenfolge „“ oder null oder eine leeres Array, Objekte ohne Attribute werden als WAHR beurteilt.
Schauen wir uns das folgende Codebeispiel an:
<?php $a = 'test'; $b = array('key1' => 'value1'); $class = new stdClass(); var_dump(empty($c)); // 输出 bool(true) var_dump(empty($b['key2'])); // 输出 bool(true) var_dump(empty($class)); // 输出 bool(false) var_dump(empty($class->test->test)); // 输出 bool(true) class EmptyClass{}; $empty_class = new EmptyClass(); var_dump(empty($empty_class));// 输出 bool(false) ?>
Ausgabeergebnis:
Die folgenden Variablen werden als leer betrachtet:
"" (leerer String)
0 ( 0 als Ganzzahl)
0.0 (0 als float)
"0" (0 als Zeichenfolge)
Null
false
array () (ein leeres Array)
$var; (eine deklarierte Variable, aber ohne Wert)
Erfahren Sie mehr über
0
,'0'
, < Der Unterschied zwischen den fünf Codetypen >'',null
undfalse
.0
、'0'
、''
、null
、false
这五种类型的区别。
null为不存在之意:php底层的zval空间里没有存其value值,只存储了一个type标志其 IS_NULL。
而0 、'0' 、'' 、 false这四个为存在,php底层是开辟zval空间存储,有value,有type。
string '0'与 string '' 不相等
int 0 却和 string '' 空相等,(非同类形比较,php会做类型转换)
string '0' 与 null 不相等,int 0 与 null 相等
方法2:使用isset()
isset功能:判断变量是否被初始化,可用来测试变量是否已经配置。若变量已存在则返回 true 值;其它情形返回 false 值。
下面通过代码示例来具体看看:
<?php $a = 'test'; $b = array('key1' => 'value1'); $class = new stdClass(); var_dump(isset($class->test->test)); // 判断对象属性是否定义:输出 bool(false) var_dump(isset($a)); // 判断变量是否定义:输出 bool(true) var_dump(isset($c)); // 判断变量是否定义:输出 bool(false) var_dump(isset($b['key1'])); // 判断数组元素是否定义:输出 bool(true) var_dump(isset($b['key2'])); // 判断数组元素是否定义:输出 bool(false) ?>
输出结果:
方法3:使用is_null()
is_null功能:检测变量是否为"null"。
当变量被赋值为"null"时,检测结果为true;0、空字符串、false、空数组都检测为false。
下面通过代码示例来具体看看:
<?php $a = null; $b = false; var_dump(is_null($a)); var_dump(is_null($b)); var_dump(is_null($c)); ?>
输出结果:
方法4:利用==或===运算符
可以使用var == null
来判断变量是否为"空"。当变量被赋值为"null"时,检测结果为true;而0、空字符串、false、空数组都检测为false。如果变量未初始化时,程序将会报错。
实质是 == 表达式会对两边的变量做自动类型转换,所以判断结果为 true。
下面通过代码示例来具体看看:
<?php $a = 0; $b = array(); var_dump($a == null); var_dump($b == null); var_dump($c == null); ?>
可以使用var === null
null bedeutet Nichtexistenz: Der Wert wird nicht im zval-Bereich unten in PHP gespeichert, sondern nur eine Typmarkierung IS_NULL wird gespeichert.
Und 0, '0', '', false Die unterste Ebene von PHP dient zum Öffnen des Zval-Speicherplatzes mit Wert und Typ.
🎜🎜🎜string '0' ist nicht gleich string '' 🎜🎜🎜🎜int 0 ist gleich string '' null (nicht identischer Vergleich, PHP führt Typkonvertierung durch) 🎜🎜🎜🎜string '0' und null Ungleich, int 0 ist gleich null konfiguriert. Gibt „true“ zurück, wenn die Variable bereits existiert; andernfalls wird „false“ zurückgegeben. 🎜🎜Sehen wir uns das folgende Codebeispiel an: 🎜<?php $a = 0; $b = false; $c = 0.0; $d = null; $e = ''; var_dump(0 === $a); // 输出 bool(true) var_dump(0 === $b); // 输出 bool(false) var_dump(0 === $c); // 输出 bool(false) var_dump(0 === $d); // 输出 bool(false) var_dump(0 === $e); // 输出 bool(false) var_dump('' === $e); // 输出 bool(true) var_dump('' === $a); // 输出 bool(false) var_dump('' === $b); // 输出 bool(false) var_dump(0.0 === $c);// 输出 bool(true) var_dump(0.0 === $a); // 输出 bool(false) ?>
var == null
verwenden, um beurteilen Variablen Ob es „leer“ ist. Wenn einer Variablen der Wert „null“ zugewiesen wird, ist das Erkennungsergebnis wahr; 0, leere Zeichenfolge, falsch und leeres Array werden alle als falsch erkannt. Wenn die Variable nicht initialisiert ist, meldet das Programm einen Fehler. 🎜🎜🎜🎜🎜Das Wesentliche ist, dass der ==-Ausdruck eine automatische Typkonvertierung für die Variablen auf beiden Seiten durchführt, sodass das Beurteilungsergebnis wahr ist. 🎜🎜Schauen wir uns das folgende Codebeispiel an: 🎜rrreee🎜🎜🎜🎜🎜Sie können var === null
verwenden, um zu erkennen, ob die Variable „null“ ist, und der Typ der Variablen muss angegeben werden auch „null“ sein. Bei der Beurteilung von „null“ hat gleich is_null den gleichen Effekt. 🎜🎜🎜rrreee🎜🎜🎜🎜Es ist ersichtlich, dass die Verwendung von === leere Zeichenfolgen, 0, false und null sowie sogar Ganzzahlen und Gleitkommatypen gut unterscheiden kann. 🎜🎜Okay, das ist alles. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →🎜php-Video-Tutorial🎜🎜Das obige ist der detaillierte Inhalt vonSo überprüfen Sie Nullwerte mit PHP (4 Methoden). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!