【发布时间】:2011-04-17 17:25:46
【问题描述】:
我需要检查 value 是否定义为任何内容,包括 null。 isset 将 null 值视为未定义并返回 false。以以下为例:
$foo = null;
if(isset($foo)) // returns false
if(isset($bar)) // returns false
if(isset($foo) || is_null($foo)) // returns true
if(isset($bar) || is_null($bar)) // returns true, raises a notice
请注意,$bar 未定义。
我需要找到一个满足以下条件的条件:
if(something($bar)) // returns false;
if(something($foo)) // returns true;
有什么想法吗?
【问题讨论】:
-
if(isset($foo)) // 返回 false,这些年来我从椅子上摔下来了……
-
in_array($key,array_keys($_SESSION)) && is_null($_SESSION[$key]) 我想了很久..
-
这对我来说不是正常行为,
isset= 已设置?,您的变量设置为 null。因为这个,我浪费了很多时间...... -
@VincentDecaux 它是 PHP...只是该语言中许多不合逻辑的事情的一个例子...