Heim > Artikel > Backend-Entwicklung > Eine kurze Diskussion über die Unterschiede zwischen isset(), empty() und is_null() in PHP
In PHP können isset(), empty() und is_null() alle verwendet werden, um den Wert einer Variablen zu testen. Was sind also die Unterschiede zwischen ihnen? Im folgenden Artikel werden diese drei Funktionen verglichen und ihre Unterschiede erläutert.
Beginnen wir mit einigen Definitionen.
isset()
: Sie können isset()
verwenden, um festzustellen, ob eine Variable deklariert ist und sich von null
unterscheidet. isset()
: 你可以用isset()
来确定一个变量是否被声明,并且与null
不同。
empty()
: 它用于确定变量是否存在,并且变量的值没有评估为false
。
is_null()
: 这个函数用来检查一个变量是否是null
。
isset()
vs empty()
正如我们从定义中看到的,如果我们之前定义了该变量并将其值设置为NULL
以外的值,那么isset()
将返回true
。这可以包括0
,一个空字符串或false
。另一方面,只要变量的值被设置为false
,empty()
就会返回true
,我们称这些值为 "假值"。错误值的例子包括:0
,空字符串""
和字符串"0"
,空数组NULL
,当然还有布尔值false
。
isset()
和empty()
之间的一个相似之处是,它们都是语言结构,因此不能使用变量函数来调用。
下面的代码片断应该可以解释这两者之间的区别。
<?php $fruit = ''; if(isset($fruit)) { echo 'Do you like '.$fruit.'?'; } // Output: Do you like ? if(!empty($fruit)) { echo 'Do you like '.$fruit.'?'; } // No Output ?>
请注意,empty()
可以使用isset()
函数来编写。
<?php function my_empty($x) { return !isset($x) || $x == false }
当然,通常只是使用内置的empty()
函数更容易。
isset()
vs is_null()
如果一个变量的值被明确地设置为NULL
,则is_null()
函数返回true
。否则,它只是返回false
。另一方面,只要定义了一个变量,并且其值不是NULL
,isset()
将返回true
。
下面是一个基本的例子来说明它们之间的区别。
<?php $fruit = NULL; if(isset($fruit)) { echo 'Do you like '.$fruit.'?'; } // No Output if(is_null($fruit)) { echo 'There is no fruit.'; } // Output: There is no fruit. ?>
empty()
vs is_null()
如果一个变量的值被评估为false
,empty()
函数将返回true
。这可能意味着空字符串,NULL
,整数0
,或一个没有元素的数组。另一方面,只有当变量的值为NULL
,is_null()
才会返回true
。
下面是一个基本的例子来说明它们之间的区别。
<?php $fruit = NULL; if(isset($fruit)) { echo 'Do you like '.$fruit.'?'; } // No Output if(is_null($fruit)) { echo 'There is no fruit.'; } // Output: There is no fruit. ?>
有两个提示,你可以用来编写更简洁的代码,并在将来避免错误。
1.与empty()
和is_null()
不同,你可以一次传递多个值给isset()
,以同时检查其中是否有未定义或设置为NULL
。在这种情况下,isset()
,只有在传递的值都不是NULL
,才会返回true
。
2.2. 不要使用==
来检查一个值是否是NULL
。这将会给像空字符串这样的评估为false
empty()
: Wird verwendet, um zu bestimmen, ob die Variable existiert und der Wert der Variablen nicht als false
ausgewertet wurde.
is_null()
: Mit dieser Funktion wird überprüft, ob eine Variable null
ist. 🎜isset()
vs empty()
🎜isset()
true zurück, wenn wir zuvor die Variable definiert und ihren Wert auf etwas anderes als <code>NULL
gesetzt haben. Code>. Dies kann 0
, eine leere Zeichenfolge oder false
sein. Andererseits gibt empty()
immer dann true
zurück, wenn der Wert einer Variablen auf false
gesetzt ist. Wir nennen diese Werte „false“. Werte" ". Beispiele für Fehlerwerte sind: 0
, leere Zeichenfolge ""
und Zeichenfolge "0"
, leeres Array NULL
> und natürlich der boolesche Wert false
. 🎜🎜Eine Ähnlichkeit zwischen isset()
und empty()
besteht darin, dass es sich bei beiden um Sprachkonstrukte handelt und sie daher nicht mit Variablenfunktionen aufgerufen werden können. 🎜🎜Der folgende Codeausschnitt soll den Unterschied zwischen den beiden erklären. 🎜rrreee🎜Bitte beachten Sie, dass empty()
mit der Funktion isset()
geschrieben werden kann. 🎜rrreee🎜Natürlich ist es oft einfacher, einfach die integrierte Funktion empty()
zu verwenden. 🎜isset()
vs is_null()
🎜NULL
gesetzt, gibt die Funktion is_null()
true
zurück. Andernfalls wird einfach false
zurückgegeben. Wenn andererseits eine Variable definiert ist und ihr Wert nicht NULL
ist, gibt isset()
true
zurück. 🎜🎜Hier ist ein einfaches Beispiel, um den Unterschied zwischen ihnen zu veranschaulichen. 🎜rrreeeempty()
vs is_null()
🎜false
ist, gibt die Funktion empty()
true
zurück. Dies kann eine leere Zeichenfolge, NULL
, eine Ganzzahl 0
oder ein Array ohne Elemente bedeuten. Andererseits gibt is_null()
nur dann true
zurück, wenn der Wert der Variablen NULL
ist. 🎜🎜Hier ist ein einfaches Beispiel, um den Unterschied zwischen ihnen zu veranschaulichen. 🎜rrreeeempty()
und is_null()
können Sie zur Überprüfung mehrere Werte gleichzeitig an isset()
übergeben gleichzeitig Ob einer von ihnen undefiniert ist oder auf NULL
gesetzt ist. In diesem Fall gibt isset()
nur dann true
zurück, wenn keiner der übergebenen Werte NULL
ist. 🎜🎜2.2. Verwenden Sie nicht ==
, um zu prüfen, ob ein Wert NULL
ist. Dadurch erhalten Werte wie die leere Zeichenfolge, die als false
ausgewertet werden, ein falsch positives Ergebnis. 🎜🎜Empfohlenes Lernen: „🎜PHP-Video-Tutorial🎜“🎜Das obige ist der detaillierte Inhalt vonEine kurze Diskussion über die Unterschiede zwischen isset(), empty() und is_null() in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!