Variablen werden Sie in fast jedem in PHP geschriebenen Programm verwenden. Meistens haben diese Variablen einen Wert und wir erstellen sie normalerweise mit einem Anfangswert. Es besteht jedoch immer die Möglichkeit, dass einige der von Ihnen verwendeten Variablen nicht initialisiert sind. Dies kann dazu führen, dass PHP Warnungen vor der Verwendung undefinierter Variablen ausgibt.
Es kann viele Gründe für undefinierte Variablen geben. Das häufigste Problem besteht darin, dass Sie die Variable nicht wirklich definieren oder dass Sie bei der Wiederverwendung an anderer Stelle einen Tippfehler machen. Das ist lediglich ein Programmierfehler. Eine andere Möglichkeit, die zu einer undefinierten Variablen führen könnte, besteht jedoch darin, dass sie bedingt definiert ist.
Möglicherweise stellen Sie auch fest, dass die Variable den Wert NULL
hat. Dies kann verschiedene Gründe haben. Beispielsweise wurde die Variable möglicherweise einfach nicht mit einem Wert initialisiert. Oder die Funktion gibt möglicherweise null zurück, um auf einen Fehler hinzuweisen.
Unabhängig davon kann die Verwendung einer Variablen vor der Definition oder wenn sie einen Nullwert hat, unbeabsichtigte Folgen haben. In diesem Tutorial zeige ich Ihnen, wie Sie überprüfen, ob ein Element definiert ist und ob es leer oder null ist.
Mit isset()
、empty()
或 is_null()
können Sie prüfen, ob eine oder alle Bedingungen wahr oder falsch sind.
Beginnen wir mit einigen Definitionen.
isset()
:您可以使用 isset()
来确定变量是否已声明并且与 null
Anders. empty()
:用于判断变量是否存在且变量的值不等于 false
. is_null()
:该函数用于检查变量是否为 null
. isset()
与 empty()
Wie wir der Definition entnehmen können, gibt isset()
true
zurück, wenn wir zuvor die Variable definiert und ihren Wert auf etwas anderes als NULL
以外的值,则 isset()
将返回 true
。这可以包括 0
、空字符串或 false
。另一方面,每当变量值设置为计算结果为 false
时,empty()
将返回 true
— 我们称这些为“假”值。 falsey 值的示例包括 0
、空字符串 ""
和字符串 "0"
、空数组、NULL
,或者当然是布尔值 false
gesetzt haben. Dies kann 0
, die leere Zeichenfolge oder false
sein. Andererseits gibt
true
zurück, wenn ein Variablenwert so eingestellt ist, dass er als false
ausgewertet wird – wir nennen diese Werte „falsch“. Beispiele für falsche Werte sind 0
, die leere Zeichenfolge ""
und die Zeichenfolge "0"
, das leere Array, oder of Natürlich ein boolescher Wert false
. isset()
和 empty()
Eine Ähnlichkeit zwischen
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. empty()
可以使用 isset()
<?php $fruit = ''; if(isset($fruit)) { echo 'Do you like '.$fruit.'?'; } // Output: Do you like ? if(!empty($fruit)) { echo 'Do you like '.$fruit.'?'; } // No Output ?>
Funktionsschreiben: empty()
<?php function my_empty($x) { return !isset($x) || $x == false } ?>
isset()
与 is_null()
NULL
,则 is_null()
函数将返回 true
。否则,它只是返回 false
。另一方面,只要定义了变量并且其值不为 NULL
,isset()
就会返回 true
is_null()
gibt true
zurück, wenn der Wert der Variablen explizit auf gesetzt wurde. Andernfalls wird einfach false
zurückgegeben. Andererseits gibt isset()
immer dann true
zurück, wenn eine Variable definiert ist und ihr Wert nicht
empty()
与 is_null()
Hier ist ein einfaches Beispiel, um den Unterschied zwischen ihnen zu zeigen. <?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. ?>
PHP false
,则 empty()
函数将返回 true
。这可能意味着空字符串、NULL
、整数 0
或没有元素的数组。另一方面,仅当变量的值为 NULL
时,is_null()
才会返回 true
und is_null()
Wenn der Wert der Variablen false
ergibt, gibt die
true
zurück. Dies kann die leere Zeichenfolge 0
oder ein Array ohne Elemente bedeuten. Andererseits gibt is_null()
nur dann true
zurück, wenn der Wert der Variablen Hier ist ein einfaches Beispiel, um den Unterschied zwischen ihnen zu zeigen.
<?php $person = ['first_name' => 'Monty', 'last_name' => '', 'age' => '83', 'fav_movie' => NULL]; if(empty($person['last_name'])) { if(is_null($person['last_name'])) { echo 'The last name is set to NULL.'; } else { echo 'The last name is probably an empty string.'; } } // Output: The last name is probably an empty string. if(is_null($person['fav_movie'])) { echo $person['first_name'].' did not specify a favorite movie.'; } // Output: Monty did not specify a favorite movie.
empty()
和 is_null()
不同,您可以一次向 isset()
传递多个值,以同时检查其中是否有任何未定义或设置为 NULL
。在这种情况下,如果传递的值都不是 NULL
,则 isset()
将仅返回 true
Wichtige Punkte, die Sie beachten sollten
Es gibt zwei Tipps, mit denen Sie saubereren Code schreiben und Fehler in der Zukunft vermeiden können. ==
来检查值是否为 NULL
。这将为错误值(例如计算为 false
is_null()
können Sie mehrere Werte gleichzeitig an isset()
übergeben, um zu prüfen, ob einer davon undefiniert oder auf isset()
nur dann true
zurück, wenn keiner der übergebenen Werte ist. isset()
、empty()
和 is_null()
==
, um zu überprüfen, ob der Wert 🎜 ist. Dadurch werden falsch-positive Ergebnisse für fehlerhafte Werte bereitgestellt, beispielsweise eine leere Zeichenfolge, die als false
ausgewertet wird. 🎜
🎜Abschließende Gedanken🎜
🎜Dieses Tutorial erklärt schnell den Unterschied zwischen isset()
, 🎜 und is_null()
. Hoffentlich können Sie jetzt feststellen, welche davon sich am besten für die Verwendung in Ihrem Code eignet. 🎜Das obige ist der detaillierte Inhalt vonVergleich der PHP-Funktionen isset(), empty() und is_null(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!