empty,isset,is_null 這幾個函數時候,遇到一些問題。甚至給自己的程序帶來一些安全隱患的bug。很多時候,對於isset,empty都認為差不多。因此開發時候,就沒有注意,一段作為流程判斷時候,就出現bug問題了。
一、舉例說明
a.一個變量沒有定義,我們該怎麼樣去判斷呢?
view source print?
01<?php02#不存在$test變量0304$isset= isset($test)?"test is define!":"test is undefine!";05echo"isset:$issetrn";0607$empty=!empty($test)?"test is define!":"test is undefine!";08echo"empty:$emptyrn";0910$is_null=is_null($test)?"test is define!":"test is undefine!";11echo"is_null:$is_nullrn";
測試結果是:
結果出來了:empty,isset首先都會檢查變量是否存在,然後對變量值進行檢測。而is_null 只是直接檢查變量值,是否為null,因此如果變量未定義就會出現錯誤!
1 2 3 4