天天看點

PHP isset()與empty()的使用差別詳解

PHP的isset()函數 一般用來檢測變量是否設定 

格式:bool isset ( mixed var [, mixed var [, ...]] ) 

功能:檢測變量是否設定 

傳回值: 

若變量不存在則傳回 FALSE

若變量存在且其值為NULL,也傳回 FALSE 

若變量存在且值不為NULL,則傳回 TURE 

同時檢查多個變量時,每個單項都符合上一條要求時才傳回 TRUE,否則結果為 FALSE 

版本:PHP 3, PHP 4, PHP 5 

更多說明: 

使用 unset() 釋放變量之後,它将不再是 isset()。 

PHP函數isset()隻能用于變量,傳遞任何其它參數都将造成解析錯誤。 

檢測常量是否已設定可使用 defined() 函數。 

PHP的empty()函數 判斷值為否為空 

格式:bool empty ( mixed var ) 

功能:檢查一個變量是否為空 

若變量不存在則傳回 TRUE 

若變量存在且其值為""、0、"0"、NULL、、FALSE、array()、var var;以及沒有任何屬性的對象,則傳回TURE若變量存在且值不為""、0、"0"、NULL、、FALSE、array()、varvar;以及沒有任何屬性的對象,則傳回TURE若變量存在且值不為""、0、"0"、NULL、、FALSE、array()、varvar; 以及沒有任何屬性的對象,則傳回 FALSE 

empty()的傳回值=!(boolean) var,但不會因為變量未定義而産生警告資訊。參見轉換為布爾值擷取更多資訊。 

empty() 隻能用于變量,傳遞任何其它參數都将造成Paser error而終止運作。 

例子: empty() 與 isset() 的一個簡單比較

<a></a>

執行結果11114444,也就是id為0時,empty就會傳回true,認為是空的。

而isset會認為已經有值。

一般情況下用isset會好一些。

本文轉自TBHacker部落格園部落格,原文連結:http://www.cnblogs.com/jiqing9006/p/3244156.html,如需轉載請自行聯系原作者