is_null, empty, isset, unset 我們先來看看這4個函數的描述。
isset 判斷變量是否已存在(配置)
unset 把變量刪除(釋放)掉
empty 判斷變量是否為空
is_null 判斷變量是否為NULL
ok,已經開始搞人了。那麼開始,這4個函數中除了unset,其他3個都是判斷函數,unset首先出局,因為他不會搞錯,其次是is_null,我們可以把它看成是!isset,是isset的一個逆操作,下面一張表可以很清楚的說明他們之間的關系:
復制代碼 代碼如下:
變量 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
從中我們可以發現只要變量是否為” “或者0,或者是false和null,只要是這些值empty都會返回true,而isset是判斷變量是否存在,只要你這個變量不是null或未賦值,返回結果都是true,而is_null正好是isset的反結果。
當然如果只是想做如下工作:
echo !isset($_GET['a']); //如果得不到變量a的值
echo empty($_GET['a']); //如果變量a的值是空
那麼結果都是一樣的,都可以用。