【发布时间】:2010-04-07 04:12:10
【问题描述】:
除了isset() 或empty() 之外还有更好的方法来测试空变量吗?
【问题讨论】:
-
isset() 和 empty() 有什么问题?
-
我想我记得在 Coding Horror 或其他博客上读到过一种不同的方法,但不记得了。我不是说 isset() 或 empty() 有什么问题,只是想戳一下大脑。
-
您必须小心
empty(),因为它会为某些特殊值返回true,例如字符串"0"。 -
@Asaph 是的,因为根据 PHP 的定义,它是
empty。那是因为 PHP 处理了很多字符串,尤其是 POST 值,所以0和"0"被视为同样为空。这是你必须学习的规则。如果您想要更精确的控制,请使用isset并严格比较您认为为空的值。 -
@dscher:不用担心。它发生在我们最好的人身上:)