Board logo

標題: [SQL與PHP] empty()與isset()的區別是什麼? [打印本頁]

作者: gswdkimo    時間: 2011-1-25 13:46     標題: empty()與isset()的區別是什麼?

手冊說得挺詳細
http://ca.php.net/manual/zh/function.empty.php

實際上就是
empty($x)     等於 !isset($x)   ||    !$x
!empty($x)   等於   isset($x)   &&   $x


白話一點就是
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()   函數。  





歡迎光臨 資訊家電班NO7 (http://imce07.freehostia.com/forums/) Powered by Discuz! 7.2