Possible Duplicate:
What's the difference between is_null($var) and ($var === null)?
PHP有两个(据我所知,如果算isset()
的话,还有三个)方法来确定一个值是否为null:is_null()
和=== null
.我听说=== null
更快,但没有得到证实,但在一次代码审查中,有人强烈建议我使用is_null()
,因为它是专门为空计算而设计的.他还开始谈论数学什么的.
不管怎么说,is_null()
显然比=== null
慢,这一事实也让我相信它比=== null
做得更多,而且可能更受欢迎.有什么理由使用其中一种吗?一个总是首选的吗?isset()
怎么样?
作为可能不会结束这个问题的补充,isset()
对is_null()
怎么样?看起来isset()
可以做的就是取消通知,所以除非您真的为一个未定义的变量指定了want通知,否则有什么理由用is_null()
来代替呢?如果您知道变量当时已初始化,情况会怎样呢?
最后,有没有数学上的原因让我们更喜欢is_null()
而不是=== null
?关于空值不可比较的东西?