[英]What's the difference between 'isset()' and '!empty()' in PHP?
我不明白isset()
和!empty()
之間的區別。
因為如果設置了變量,不就等於不為空嗎?
ISSET檢查變量以查看它是否已設置。 換句話說,它檢查變量是否是除 NULL 以外的任何值或未分配值。 如果變量存在且具有非 NULL 值,則ISSET
返回TRUE
。 這意味着設置了分配了 ""、0、"0" 或 FALSE 的變量,因此對於ISSET
為TRUE
。
EMPTY檢查變量是否為空。 Empty 被解釋為:“”(空字符串)、0(整數)、0.0(浮點數)`、“0”(字符串)、NULL、FALSE、array()(空數組)和“$var;” (聲明的變量,但在類中沒有值。
有關更多信息,請參閱這篇文章
來源:http://php.net/manual/en/types.comparisons.php本頁顯示了empty()
、 is_null()
、 isset()
。
類型比較表給出了有關這些運算符的所有問題的答案
還有一句話。 empty()
檢查變量是否也存在。 即,如果我們對未聲明的變量執行empty()
,我們不會收到錯誤, empty()
返回 'true'。 因此,如果接下來我們需要檢查變量是否為空,我們可以避免isset()
。
所以
isset($var) && !empty($var)
將等於
!empty($var)
當已經存在檢查真假的條件時使用.empty。
isset 更基本。 empty 包含更多檢查,因此需要小心使用。
isset
— 確定變量是否已設置且不為 NULL。
!empty
— 確定變量是否非空。
如果變量尚未設置或為空,則 Isset 返回 false;如果變量已設置且不為空,則返回 true。
!empty 如果變量已設置且不為空,則返回 true。 空字符串、空數組、“0”、0 和 false 定義為空。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.