Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Verwendung und Unterschiede von empty,isset,is_null in PHP

Detaillierte Erläuterung der Verwendung und Unterschiede von empty,isset,is_null in PHP

墨辰丷
墨辰丷Original
2018-05-25 11:07:521882Durchsuche

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 Fallstricke 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

zurückgegeben

2.isset()

isset – Überprüfen Sie, ob die Variable gesetzt ist

Beschreibung
bool isset ( Mixed var [, Mixed 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) Differenz null

$a = null;
is_null($a);

Darüber hinaus 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 ():

bool is_null (mixed $var) (Funktionsdefinition im offiziellen Dokument von php.net)
Wenn die Parameter die folgenden drei Bedingungen erfüllen, gibt is_null() TRUE zurück , andernfalls ist es FALSE
Es wird ein Wert von NULL zugewiesen
3 Es ist undefiniert, was unset() entspricht. ) eine Variable, ist sie nicht undefiniert?
Sehen wir uns einige Beispiele an:

$myvar = NULL;  
var_dump(is_null($myvar)); // TRUE 
$myvar1;      
var_dump(is_null($myvar1)); // TRUE Notice: Undefined variable 
$num = 520; 
unset($num); 
var_dump(is_null($num)); //TRUE Notice: Undefined variable 
var_dump(is_null($some_undefined_var)); //TRUE Notice: Undefined variable 
 
$myvar = 0; is_null($myvar);   // FALSE 
$myvar = FALSE; is_null($myvar); // FALSE 
$myvar = ''; is_null($myvar);  // FALSE


Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.


Verwandte Empfehlungen:

PHP isset() und der Unterschied zwischen empty()

Detaillierte Erklärung des Unterschieds zwischen isset und empty in PHP

PHP-Leistungsoptimierung: isset( ) ist schneller als strlen()

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung und Unterschiede von empty,isset,is_null in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn