【发布时间】:2015-02-02 15:28:31
【问题描述】:
我想知道isset()和!empty有什么不同?
我知道isset() 测试变量是否已设置且不为空,而
empty() 可以在变量设置为特定值时返回 true。
但从逻辑上讲,当isset() 不为空时(不使用“empty()”),text 或 textarea 中有一个变量,因此我们不需要empty()。
【问题讨论】:
-
foo = "" 将使 isset() 返回 true,但 !empty 将返回 false。变量 foo 被设置为空,但它仍然被设置。它没有内容,所以 !empty 将返回 false。
-
我还会向您指出这些函数的 PHP 文档。他们应该非常清楚不同的变量类型/值如何响应每个函数。
-
这段代码很棘手
<? $a = 0; if(empty($a)){ echo"EMPTY"; } if(isset($a)){ echo"EMPTY"; } ?>变量 a 已设置,但它是空的,就像 empty 看到的那样。您可以使用正则表达式“^$”(空)来测试这样的东西。
标签: php