所有三种方法都检查为null,
if($sth == NULL)
if($sth === NULL)
if(is_null($sth))
哪种方式合适?
答案 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))
但我认为要么好