$a = NULL;
$c = 1;
var_dump(isset($a)); // bool(false)
var_dump(isset($b)); // bool(false)
var_dump(isset($c)); // bool(true)
如何区分$a
(存在但值NULL
)与“真的不存在”$b
?
答案 0 :(得分:8)
使用以下内容:
$a = NULL;
var_dump(true === array_key_exists('a', get_defined_vars()));
答案 1 :(得分:4)
知道你为什么要这样做会很有趣,但无论如何,它是可能的:
使用get_defined_vars,它将包含当前作用域中已定义变量的条目,包括具有NULL值的条目。这是一个使用它的例子
function test()
{
$a=1;
$b=null;
//what is defined in the current scope?
$defined= get_defined_vars();
//take a look...
var_dump($defined);
//here's how you could test for $b
$is_b_defined = array_key_exists('b', $defined);
}
test();
显示
array(2) {
["a"] => int(1)
["b"] => NULL
}