isset、is_null、empty的區別
阿新 • • 發佈:2017-08-04
應該 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的區別