In der PHP -Programmierung sind IS_NULL und leer zwei häufig verwendete Funktionen, die verwendet werden, um den Stand der Variablen zu beurteilen, aber ihre Funktionen unterscheiden sich offensichtlich von denen der Nutzung. In diesem Artikel wird diese beiden Funktionen im Detail verglichen, um Ihre Unterschiede zu verstehen und sie in der tatsächlichen Entwicklung einigermaßen zu verwenden.
is_null ($ var)
Bestimmen Sie, ob die Variable null ist. Wenn der Wert der Variablen streng null ist, geben Sie wahr , sonst falsch .
leer ($ var)
Bestimmen Sie, ob die Variable leer ist. Das "leere" hier ist relativ breit. Zusätzlich zu Null enthält es auch falsche , leere Zeichenfolge "" , 0 , "0" , leeres Array [] und andere Situationen. Geben Sie True zurück, wenn der Wert der Variablen als "leer" angesehen wird, ansonsten return falsch .
Vergleichselemente | is_null | leer |
---|---|---|
Urteilsvermögen Inhalt | Bestimmen Sie nur, ob es null ist | Bestimmen Sie, ob die Variable leer ist ( Null , False , 0 , leere Zeichenfolge, leeres Array usw.) |
Wird die Variable deklariert? | Die Variable muss deklariert werden, andernfalls wird ein Fehler gemeldet oder eine Nachricht wird gemeldet. | Es wird kein Fehler gemeldet, wenn die Variable nicht deklariert wird und direkt zurückgegeben wird . |
Anwendbare Szenarien | Es ist notwendig, strikt zu beurteilen, ob die Variable null ist | Bestimmen Sie, ob die Variable "bedeutungslos" oder "null" ist |
Ergebnisse Beispiel | is_null (0) gibt falsch zurück | leer (0) gibt true zurück |
<?php
$var1 = null;
$var2 = 0;
$var3 = "";
$var4 = false;
$var5 = [];
var_dump(is_null($var1)); // true
var_dump(empty($var1)); // true
var_dump(is_null($var2)); // false
var_dump(empty($var2)); // true
var_dump(is_null($var3)); // false
var_dump(empty($var3)); // true
var_dump(is_null($var4)); // false
var_dump(empty($var4)); // true
var_dump(is_null($var5)); // false
var_dump(empty($var5)); // true
// Der Fall, in dem die Variable nicht definiert ist
var_dump(empty($undefined_var)); // true
// var_dump(is_null($undefined_var)); // Meldet einen Fehler:Undefinierte Variablen
?>
Umgang mit undefinierten Variablen <br> Wenn Sie leer verwenden, um zu überprüfen, ob undefinierte Variablen nicht gemeldet werden, ist es geeignet, "Null -Wert" -Rents zu fällen, wenn die Variable nicht deklariert wird. IS_NULL verlangt, dass die Variable deklariert werden muss, andernfalls verursacht sie einen Fehler.
Auswahl der logischen Anforderungen <br> Wenn Sie strikt beurteilen müssen, ob die Variable Null zugewiesen ist, sollte IS_NULL verwendet werden. Wenn Sie feststellen, ob die Variable "entspricht leer" ist, ist es angemessener, leer zu verwenden.
Der Unterschied zur Emission
Die ISSET wird verwendet, um festzustellen, ob die Variable festgelegt wurde und nicht null . Es kann zusammen mit diesen beiden Funktionen verwendet werden, um den variablen Zustand genauer zu steuern.
Angenommen, Sie erhalten Daten von einer API und bestimmen, ob die Daten gültig sind:
<?php
$response = file_get_contents("https://gitbox.net/api/data");
$data = json_decode($response, true);
if (is_null($data['value'])) {
echo "Die Daten sind NULL,Müssen erneut anfordern";
}
if (empty($data['value'])) {
echo "Die Daten sind空,Vielleicht 0、Leere Zeichenfolge oder nicht eingestellt";
}
?>
Im obigen Code -Beispiel wird IS_NULL verwendet, um den genauen Null zu bestimmen, während leer einen größeren Bereich von "ungültigen" oder "leeren" Fällen.