如果我给变量赋值NULL,isset()会返回false吗?

时间:2009-12-31 15:48:55

标签: php null isset

我的意思是......我将它“设置”为NULL。那么isset($ somethingNULL)== true?

2 个答案:

答案 0 :(得分:25)

bool isset ( mixed $var [, mixed $var [, $... ]] )
  

确定变量是否已设置且不为NULL。

     

如果使用unset()取消设置变量,则不再设置该变量。如果测试已设置为NULL的变量, isset()将返回FALSE。另请注意,NULL字节(“\ 0”)不等同于PHP NULL常量。

     

返回值

     

如果var存在并且其值不是NULL,则返回TRUE,否则返回FALSE。

来自manualExamples在同一页上。

答案 1 :(得分:23)

是 - 来自ISSET() documentation

$foo = NULL;
var_dump(isset($foo));   // FALSE

/* Array example */
$a = array ('test' => 1, 'hello' => NULL);

var_dump(isset($a['test']));            // TRUE
var_dump(isset($a['foo']));             // FALSE
var_dump(isset($a['hello']));           // FALSE