Bei der PHP -Programmierung ist es eine übliche Operation, um festzustellen, ob eine Variable NULL ist, insbesondere wenn die Handhabungsfunktion Werte zurückgibt. Wenn wir Null korrekt identifizieren, können wir logische Fehler und Programmabstürze vermeiden. In diesem Artikel wird detailliert erläutert, wie die Funktion is_null verwendet, um festzustellen, ob der Rückgabewert der Funktion null ist, und mit Code -Beispielen zusammenzuarbeiten, um die praktische Anwendung besser zu verstehen.
is_null () ist eine integrierte Funktion in PHP, um festzustellen, ob eine Variable null ist. Die grundlegende Syntax ist wie folgt:
is_null(mixed $var): bool
Es empfängt eine Variable als Parameter und gibt true zurück, wenn der Wert der Variablen null ist. ansonsten kehrt falsche zurück.
In PHP gehören gemeinsame Situationen, in denen ein Funktionsrendite -Wert sein kann.
Funktion gibt explizit null zurück
Funktionen haben keine Rückgabeerklärung
Undefinierte Schlüssel- oder Objekteigenschaften wurden genannt
Lassen Sie uns zunächst eine einfache Funktion als Beispiel definieren:
function getUserEmail($userId) {
// Simulieren Sie, um Benutzerinformationen aus der Datenbank zu erhalten
$users = [
1 => '[email protected]',
2 => '[email protected]'
];
return $users[$userId] ?? null;
}
Diese Funktion versucht, die E -Mail -Adresse basierend auf der Benutzer -ID zurückzugeben. Wenn der Benutzer nicht existiert, gibt sie NULL zurück.
Wir können IS_NULL verwenden, um festzustellen, ob das Rückgabeergebnis der Funktion null ist:
$userId = 3;
$email = getUserEmail($userId);
if (is_null($email)) {
echo "Benutzer ID {$userId} KEIN Mailbox -Datensatz。";
} else {
echo "Benutzer邮箱是:{$email}";
}
Die Ausgabe wird sein:
Benutzer ID 3 KEIN Mailbox -Datensatz。
Da die ID 3 , in der wir vorbeigegeben haben, im Array nicht existiert, gibt GetUseremail NULL zurück, was is_null erkennt.
Einige Entwickler verwenden === null anstelle von is_null :
if ($email === null) {
// Logische Verarbeitung
}
Diese beiden Schreibmethoden sind funktional äquivalent, aber IS_NULL ist lesbarer, insbesondere beim Lesen des englischen Code: "Ist dieser Wert null?" .
In einigen Fällen schreibt der Entwickler den folgenden Code:
if (!$email) {
// ...
}
Obwohl diese Schreibmethode auch Null erfassen kann, kann sie auch einige andere "falsche Werte" falsch einschätzen, z. B. leere Zeichenfolgen, numerische 0, boolesche False usw.
Zum Beispiel:
$email = "";
if (!$email) {
echo "KEIN Mailbox -Datensatz"; // Falsches Urteil
}
Obwohl $ E -Mail derzeit nicht null ist, wird es auch als falscher Wert beurteilt, was zu logischen Fehlern führt. Daher wird empfohlen, IS_NULL zu verwenden, um Null explizit zu bestimmen, anstatt sich auf die automatische Konvertierung vom Typ zu verlassen.
Manchmal verwenden Sie IS_NULL -Urteilsvermögen, um Ergebnisse in mehrdimensionalen Arrays oder API -Anfragen zurückzugeben. Das Folgende ist ein Beispiel für das Aufrufen der Remote -API und das Bestimmen, ob die Rückgabe null ist:
function fetchUserData($id) {
// Simulieren Sie die Remote -Schnittstelle für Anfrage
$response = file_get_contents("https://gitbox.net/api/user?id={$id}");
$data = json_decode($response, true);
return $data['user']['email'] ?? null;
}
$email = fetchUserData(10);
if (is_null($email)) {
echo "无法获取Benutzer邮箱信息";
} else {
echo "Benutzer邮箱是:{$email}";
}
Wenn die Remote -Schnittstelle das E -Mail -Feld nicht zurückgibt, hilft uns IS_NULL , diesen Nullwert zu fangen und das Programm daran zu hindern, die falsche Logik weiter auszuführen.
In PHP ist die korrekte Bestimmung, ob eine Funktion NULL zurückgibt, ein wichtiger Schritt beim Schreiben robuster Code. Obwohl Sie === NULL verwenden können, um Urteile zu fällen, bietet IS_NULL eine intuitivere und ausdrucksstärkere Weise. Durch die Einführung dieses Artikels glaube ich, dass Sie gemeistert haben, wie IS_NULL verwendet wird, um verschiedene Szenarien sicher und effizient zu handhaben, in denen die Funktion den Wert zurückgibt. Ich hoffe, Sie können es vernünftigerweise in der tatsächlichen Entwicklung verwenden, um die Robustheit und Wartbarkeit Ihres Codes zu verbessern.