这些方法之间有什么区别,哪种方式正确检查NULL?

时间:2011-08-13 13:50:17

标签: php null

所有三种方法都检查为null,

if($sth == NULL)

if($sth === NULL)

if(is_null($sth))

哪种方式合适?

3 个答案:

答案 0 :(得分:11)

他们检查了三件不同的事情:

if ($sth == NULL)

检查$sth是否松散等于null。这意味着如果$sth实际为0,则会通过。

if ($sth === NULL)

检查$sth是否完全等于null

if (is_null($sth))

这会检查$sth类型是否为空类型(其他人测试$sth)。

===is_null技术总会给出相同的答案; ==有时会给出不同的答案。

答案 1 :(得分:1)

第一个仅测试$sth是否等于NULL,0也是真。 第二个检查类型是否相等。因此NULL只有$sth才会成立。 第三个只适用于变量,而不适用于功能结果。

还有一点提示:我偶尔会错误地将if($sth == NULL)错误地输入if($sth = NULL),这会导致很难找到错误。更好地键入if(NULL == $sth),当你写错了会导致你找到正确的方向时,你会得到一个解释器错误。

答案 2 :(得分:0)

我用

if(is_null($sth))

但我认为要么好