is_null, empty, isset, unset 咱們先來看看這4個函數的描述。函數
isset 判斷變量是否已存在(配置)
unset 把變量刪除(釋放)掉
empty 判斷變量是否爲空
is_null 判斷變量是否爲NULL
ok,已經開始搞人了。那麼開始,這4個函數中除了unset,其餘3個都是判斷函數,unset首先出局,由於他不會搞錯,其次是is_null,咱們能夠把它當作是!isset,是isset的一個逆操做,下面一張表能夠很清楚的說明他們之間的關係:spa
從中咱們能夠發現只要變量是否爲」 「或者0,或者是false和null,只要是這些值empty都會返回true,而isset是判斷變量是否存在,只要你這個變量不是null或未賦值,返回結果都是true,而is_null正好是isset的反結果。code
固然若是隻是想作以下工做:
echo !isset($_GET['a']); //若是得不到變量a的值
echo empty($_GET['a']); //若是變量a的值是空it
那麼結果都是同樣的,均可以用。io
isset 判斷變量是否已存在table
empty 判斷變量是否爲空或爲0class
is_null 判斷變量是否爲NULL變量
變量 | empty | is_null | isset |
---|---|---|---|
$a=」」 | true | false | true |
$a=null | true | true | false |
var $a | true | true | false |
$a=array() | true | false | true |
$a=false | true | false | true |
$a=15 | false | false | true |
$a=1 | false | false | true |
$a=0 | true | false | true |
$a=」0」 | true | false | true |
$a=」true」 | false | false | true |
$a=」false」 | false | false | true |