PHP 有两个(据我所知,如果算上 isset()
的话,还有三个)方法来确定值是否为 null: is_null()
和 === null
。我听说过,但没有证实,=== null
是更快的,但在一个代码审查有人强烈建议我使用 is_null()
,因为它是专门为空计算目的而设计的。他还开始谈论数学什么的。
无论如何,事实上,is_null()
显然是慢,也使我相信,它比 === null
做的更多,可能是首选。有什么理由选择其中一个吗?人们总是更喜欢一个人吗?isset()
呢?
作为一个附录,可能没有得到这个问题关闭,那么 isset()
对 is_null()
呢?似乎所有的 isset()
将做的是取消通知,所以除非你实际上 想要一个未定义的变量的通知,有什么理由使用 is_null()
而不是?如果您知道变量是在当时初始化的呢?
最后,有没有什么数学上的原因让我们更喜欢 is_null()
而不是 === null
?