【发布时间】:2012-03-14 19:49:06
【问题描述】:
如果我有$v = NULL;,我如何检查$v 是否存在并且是NULL?
isset($v) => false //because of NULL, but $v exists
【问题讨论】:
标签: php
如果我有$v = NULL;,我如何检查$v 是否存在并且是NULL?
isset($v) => false //because of NULL, but $v exists
【问题讨论】:
标签: php
你不能,null 相当于一个不存在的变量:
如果满足以下条件,则认为变量为空
- 它被分配了常量
NULL。- 尚未设置任何值。
- 一直是
unset()。
仅对于数组,您可以使用 array_key_exists 检查键是否存在,尽管它的值为 null。
【讨论】:
array_key_exists 和 $GLOBALS 一起使用怎么样? php.net/manual/en/reserved.variables.globals.php
window[name] 通过名称访问全局变量,但对于当前范围内的变量来说这是不可能的。
试试is_null($v)。
【讨论】:
isset()和is_null()而言,两者是没有区别的。
您应该小心对可能是null 的变量使用isset。这是为将来的错误和问题做好准备的好方法。
您现在可以做的是使用is_null 作为附加测试。
【讨论】:
如果你想把它们放在一起来测试存在性和空值
<?php
if(!is_null($v)){
// do something
}
?>
【讨论】: