可能是重复问题:
is_null($var)和($var === null)有什么区别?
PHP有两个(我知道的),如果计算isset()
,则有三个方法来确定值是否为null:is_null()
和=== null
。我听说过,但尚未证实,=== null
更快,但在代码审查中,有人强烈建议我改用is_null()
,因为它专门设计用于null评估目的。他还开始谈论数学或其他内容。
无论如何,is_null()
显然较慢的事实也使我相信它正在做比=== null
更多的工作,并且可能更受欢迎。有没有使用其中一个的理由?总是有一个首选项吗?isset()
呢?
作为可能不会关闭此问题的补充,isset()
与is_null()
的区别是什么?它似乎只会抑制通知,因此除非您实际上希望获得未定义变量的通知,否则使用is_null()
的任何原因?如果您知道变量在初始化时,则怎么样?
最后,是否有任何数学原因优先使用is_null()
而不是=== null
?关于null无法比较的某些内容?
===
不再比is_null
更快。 - Gogowitsch