簡體   English   中英

PHP中的'isset()'和'?empty()'有什么區別?

[英]What's the difference between 'isset()' and '!empty()' in PHP?

我不明白isset()!empty()之間的區別。

因為如果設置了變量,不就等於不為空嗎?

ISSET檢查變量以查看它是否已設置。 換句話說,它檢查變量是否是除 NULL 以外的任何值或未分配值。 如果變量存在且具有非 NULL 值,則ISSET返回TRUE 這意味着設置了分配了 ""、0、"0" 或 FALSE 的變量,因此對於ISSETTRUE

EMPTY檢查變量是否為空。 Empty 被解釋為:“”(空字符串)、0(整數)、0.0(浮點數)`、“0”(字符串)、NULL、FALSE、array()(空數組)和“$var;” (聲明的變量,但在類中沒有值。

有關更多信息,請參閱這篇文章

來源:http://php.net/manual/en/types.comparisons.php本頁顯示了empty()is_null()isset()

此處顯示完整比較的圖片

類型比較表給出了有關這些運算符的所有問題的答案

http://php.net/manual/en/types.comparisons.php

還有一句話。 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM