2011年8月15日 星期一

[PHP]isset與empty的差異


官方有詳細說明

empty:
var   是非空或非零的值,則   empty()   返回   FALSE。
換句話說, " "、0、 "0 "、NULL、FALSE、array()、var   $var;   以及沒有任何屬性的對象都將被認為是空的,如果   var   為空,則返回   TRUE。  

除了當變量沒有置值時不產生警告之外,empty()   是   (boolean)   var   的反義詞。

isset:
如果   var   存在則返回   TRUE,否則返回   FALSE。  

如果已經使用   unset()   釋放了一個變量之後,它將不再是   isset()。
若使用   isset()   測試一個被設置成   NULL   的變量,將返回   FALSE。同時要注意的是一個   NULL   字節( "\0 ")並不等同於   PHP   的   NULL   常數。  

警告:   isset()   只能用於變量,因為傳遞任何其它參數都將造成解析錯誤。
          若想檢測常量是否已設置,可使用   defined()   函數。  

沒有留言:

張貼留言