我有一个关于PHP中的NULL
的问题:
$a = '';
if($a == NULL) {
echo 'is null';
}
当$a
为空字符串时,为什么我看到is null?那是个bug吗?
发布于 2011-11-23 09:47:29
你要找的是:
if($variable === NULL) {...}
请注意===
。
在使用==
时,就像您所做的那样,PHP将NULL、false、空字符串和空数组等同对待。
发布于 2013-03-25 12:18:20
如下表所示,empty($foo)
等同于$foo==null
,is_null($foo)
具有与$foo===null
相同的功能。该表还显示了有关null
比较的一些棘手的值。(ϕ表示未初始化的变量。)
empty is_null
==null ===null isset array_key_exists
ϕ | T | T | F | F
null | T | T | F | T
"" | T | F | T | T
[] | T | F | T | T
0 | T | F | T | T
false | T | F | T | T
true | F | F | T | T
1 | F | F | T | T
\0 | F | F | T | T
发布于 2011-11-23 09:49:56
检查==
与===
'' == NULL
将返回true
0 == NULL
将返回true
false == null
将返回true
where as
'' === NULL
将返回false
0 === NULL
将返回false
false === NULL
将返回false
https://stackoverflow.com/questions/8236354
复制相似问题