1. 程式人生 > >isset、is_null、empty的區別

isset、is_null、empty的區別

應該 com mil 5.4 blog 可能 pre is_null family

版本:PHP 5.4

1、isset() :檢測變量是否存在,測試如下:

 1 $a = false;
 2 $b = null;
 3 $c;
 4 $d = 0;
 5 $e = true;
 6 var_dump(isset($a));
 7 var_dump(isset($b));
 8 var_dump(isset($c));
 9 var_dump(isset($d));
10 var_dump(isset($e));

結果如圖:

技術分享

總結:當變量為null或未定義的情況下就會返回false;而當變量的值為0,false(應該是被檢測時按0算),true時都返回true。

2、is_null():檢測變量是否為空類型,測試如下:

 1 $a = false;
 2 $b = null;
 3 $c;
 4 $d = 0;
 5 $e = true;
 6 var_dump(is_null($a));
 7 var_dump(is_null($b));
 8 var_dump(is_null($c));
 9 var_dump(is_null($d));
10 var_dump(is_null($e));

結果如圖:

技術分享

總結:1和5因為是布爾類型,所以返回false;2是null所以返回true,3未定義變量返回錯誤提示+true;4可能判定為布爾類型的false了

3、empty:檢查一個變量是否為空,如下:

 1
$a = false; 2 $b = null; 3 $c; 4 $d = 0; 5 $e = true; 6 var_dump(empty($a)); 7 var_dump(empty($b)); 8 var_dump(empty($c)); 9 var_dump(empty($d)); 10 var_dump(empty($e));

結果如圖:

技術分享

總結:0、null、false都返回false

isset、is_null、empty的區別