Ich habe kürzlich den Quellcode des Projekts gelesen und festgestellt, dass die Funktionen empty, isset und is_null (Sprachfunktionen) wahllos im Quellcode verwendet werden. An einigen Stellen gibt es offensichtlich Fallstricke. Wenn diese Dinge nicht richtig verstanden werden, können Lücken für die spätere Entwicklung entstehen.
1.leere Verwendung
bool leer (gemischte Variable)
Wenn var ein nicht leerer oder ungleich Null-Wert ist, empty() gibt FALSE zurück. Mit anderen Worten: „“, 0, „0“, NULL, FALSE, array(), var $var; und Objekte ohne Attribute werden als leer betrachtet. Wenn var leer ist, wird TRUE
2.isset()
isset – Überprüfen Sie, ob die Variable gesetzt ist
Beschreibung
bool isset ( gemischt var [, gemischt var [, ...]])
Gibt TRUE zurück, wenn var existiert, andernfalls FALSE.
Wenn eine Variable mit unset() freigegeben wurde, ist sie nicht mehr isset(). Wenn Sie isset() verwenden, um eine Variable zu testen, die auf NULL gesetzt ist, wird FALSE zurückgegeben. Beachten Sie außerdem, dass ein NULL-Byte („0“) nicht der NULL-Konstante von PHP entspricht.
Hinweis: Wenn die Variable nicht existiert, melden weder isset() noch empty() einen Fehler, is_numeric() meldet einen Fehler
So unterscheiden Sie [0 ,'' im folgenden Array ,null] drei Elemente? (1) Differenz 0:
$a = 0; isset($a) && is_numeric($a) === true
(2) Differenz ''
$a = ''; empty($a) && $a=== ''
(3) Unterschied zwischen Null
$a = null; is_null($a);
Außerdem müssen Sie beim Absenden eines Formulars häufig überprüfen, ob eine Variable vorhanden ist. Wenn $_REQUEST[ 'status'] = 0; Verwenden Sie empty($_REQUEST['status']), um true zurückzugeben, aber verwenden Sie isset($_REQUEST['status']), um zu beurteilen, dass es nicht leer ist
3. is_null( ):
bool is_null (mixed $var) (Funktionsdefinition im offiziellen Dokument von php.net)
Wenn die Parameter die folgenden drei Bedingungen erfüllen , is_null() gibt TRUE zurück, andere Situationen sind FALSE
1. Es wurde kein Wert zugewiesen
3. Es ist undefiniert, was unset() entspricht. Nach unset() bedeutet das, dass es keinen Wert gibt. Definition? Artikel über die Verwendung und Unterschiede von empty, isset, is_null in PHP. Bitte beachten Sie die chinesische PHP-Website!