empty(), is_null(), isset()真值表(區別)
1、當變數未定義時,is_null()和「參數本身」是不允許作為參數判斷的,會報Notice警告錯誤;
2、empty,isset首先都會檢查變數是否存在,然後對變數值進行偵測。而is_null 和 “參數本身”只是直接檢查變數值,是否為null,因此如果變數未定義就會出現錯誤!
3、isset():僅當null且未定義,回傳false;
4、empty():""、0、"0"、NULL、FALSE、array(),未定義,均回傳falsefalse; 5、is_null():僅判斷是否為null,未定義封包警告;
6、變數本身為參數,且與empty()一致,但接受未定義變數時,封包警語;
""、0、"0" 、NULL、FALSE、array()這幾個中,empty()和「變數本身作為參數」結果一致,均作為「空」來處理,而isset()和is_null ()僅當是null時,才作為「空」來處理(值得注意的是false並不會被認為是空)
empty()
如果變數是非空或非零的值,則empty() 傳回FALSE。換句話說,""、0、"0"、NULL、FALSE、array()、var $var、未定義,以及沒有任何屬性的物件都將被視為空的,如果var 為空,則傳回TRUE 。
isset()
若 變數 存在且值非NULL,則傳回 TRUE,否則傳回 FALSE(包含未定義)。變數值設定為:null,返回也是false;unset一個變數後,變數被取消了。注意,isset對於NULL值變量,特殊處理。
is_null()
檢測傳入值【值,變量,表達式】是否是null,只有一個變量定義了,且它的值是null,它才返回TRUE . 其它都返回FALSE 【未定義變量傳入後會出錯! 】。
以上就介紹了empty, is_null, isset區別,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。