Heim  >  Artikel  >  PHP-Beurteilungsvariable

PHP-Beurteilungsvariable

无忌哥哥
无忌哥哥Original
2018-06-28 09:11:352148Durchsuche

3. Der Unterschied zwischen is_null(), empty(), isset()

//Besonderer Hinweis: Diese drei Funktionen eignen sich nur für die Variablenbeurteilung, verwenden Sie keine Literale direkt

* 1. Wenn is_null() true zurückgibt?

* 1. Die Variable wurde deklariert, aber nicht initialisiert, und der Standardwert ist null

* 2. Die Variable ist einen Wert von null zugewiesen

* 3. Nachdem unset() zerstört wurde, hat die Variable einen Nullwert

* Zusammenfassung: Die Variable existiert nicht/hat keinen zugewiesenen Wert/der Wert ist null, dann wird true zurückgegeben

$val1;  //已声明,但未赋值
$val2 =  null; //直接用null初始化变量
$val3 = 'php';
unset($val3);  //彻底销毁变量

// Hinweis: Die Verwendung des ternären Operators zur Ausgabe von true oder false dient nur der Anschauung und kann vollständig weggelassen werden

@var_dump(is_null($val1) ? true : false); //true
var_dump(is_null($val2) ? true : false); //true
@var_dump(is_null($val3) ? true : false); //true

// var_dump(is_null('' )); //Der leere String gibt false zurück

* 2. Wann gibt empty() true zurück

* 1. Leerer String, leeres Array

* 2. null

* 3.0 / '0' / false

* Zusammenfassung:

* 1. Wenn eine Variable nicht existiert, ist sie entweder leer oder null. Sie können sie verwenden is_null() / empty() zur Bestimmung von

* 2. Wenn eine Variable vorhanden ist, ihr Wert jedoch keinen Einfluss auf das laufende Ergebnis hat, wird sie als leer betrachtet

* 3. null muss leer sein, aber leer ist nicht unbedingt null, da es ein Nullwert oder 0 oder falsch sein kann

*/

$str1 = '';
$str2 = [];
$str3 = '0';
$str4 = 0;
$str5 = null;
$str6 = false;
$str7 = 'peter zhu';
echo &#39;<hr>&#39;;
var_dump(empty($str1) ? true : false);//空字符串
var_dump(empty($str2) ? true : false);//空数组
var_dump(empty($str3) ? true : false);//字符型数字0 
var_dump(empty($str4) ? true : false);//数字0
var_dump(empty($str5) ? true : false);//null值
var_dump(empty($str6) ? true : false);//布尔false
var_dump(empty($str7) ? true : false);//有值且不为空,返回false

* Denken: Um festzustellen, ob der Benutzer Inhalte in den Text eingegeben hat Feld, sollte ich is_null() oder empty() verwenden?

* Antwort: Muss empty() verwenden, kann is_null() nicht verwenden

* Grund: Weil der Wert des Textfelds standardmäßig ist zu einer leeren Zeichenfolge, also value = '', wurde ihm ein Wert zugewiesen, es ist nur ein leerer Wert

* Daher kann is_null() nur prüfen, ob der Wert null ist oder nicht, und empty() muss verwendet werden

* isset() ist die Umkehroperation von null

* Zusammenfassung: Variablen sind bereits vorhanden und ihr Wert ist nicht null, gibt true zurück, andernfalls false

$domain = &#39;www.php.cn&#39;;
$name = null;
$job;
echo &#39;<hr>&#39;;
var_dump(isset($var));
var_dump(isset($domain) ? true : false);
var_dump(isset($name) ? true : false);
var_dump(isset($job) ? true : false); //false,未赋值并不报错,与is_null不同

* Zusammenfassung:

* 1. Variablen haben zwei Zustände: deklariert, nicht deklariert

* 2. Deklarierte Variablen haben auch zwei Zustände: zugewiesen (initialisiert), nicht zugewiesen (nicht initialisiert)

* 3. Variablen können Werttypen zugewiesen werden: Null, leerer Wert, Nicht-Null-Wert

* 3.1: Nullwert: is_null()

* 3.2: Leerer Wert : empty()

* 3.3: Leerer oder nicht leerer Wert: isset()

* Grundlegende Nutzungsprinzipien:

* 1. Für nicht deklarierte Variablen gilt nur isset( ) kann zur Beurteilung verwendet werden

* 2. Für deklarierte Variablen ist es leer. Verwenden Sie empty() zur Beurteilung und is_null() zur Beurteilung, ob initialisiert werden soll

echo &#39;<hr color="red">&#39;;

//Das erste Szenario : Die Variable ist nicht deklariert

//$a ist nicht deklariert

var_dump(isset($a) ? true : false);  //不报错,返回false表示未声明

/ /Beispiel: Bei der Anzeige von Daten in Seiten, wenn in der aktuellen URL eine Paging-Variable page vorhanden ist, wird die angegebene Seite wird ausgegeben, andernfalls wird standardmäßig die erste Seite mit Daten ausgegeben

$name = isset($_GET[&#39;page&#39;]) ? $_GET[&#39;page&#39;] : 1;

//is_null gibt eine Warnung aus und führt automatisch $a = null aus, sodass true zurückgegeben wird

var_dump(is_null($a) ? true : false);

//Da nicht deklarierte Variablen automatisch auf Null initialisiert werden und Variablen mit einem Nullwert von empty() als leer betrachtet werden, wird true zurückgegeben

var_dump(empty($a) ? true : false);

//Zweites Szenario: Die Variable hat deklariert worden

$a = &#39;www.php.cn&#39;;
$b = &#39;&#39;;
$c = null;
echo &#39;<hr color="blue">&#39;;
var_dump(isset($a));  //有无判断
var_dump(empty($b));  //非空判断
var_dump(is_null($c)); //null

//Prinzipien für die Initialisierung von Variablen:

//1. Wenn der Variablentyp im Voraus bekannt ist

$num = 0; //数值
$userName = &#39;&#39;; //字符串
$isPass = false; //布尔
$books = []; //数组
$student = null; //对象

//2 Da die Variable letztendlich hält, wird empfohlen, sie mit null

zu initialisieren
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