PHP is_null()和== null

在PHP中,PHP中的is_null==null什么区别? 双方都有什么资格certificate是正确的?

is_null=== null相同。 当variables为null (或未设置)时,两者都返回true。

请注意,我正在使用===而不是=====比较types和值。

所以你可以更好地理解它:

 $a = null; $b = 0; is_null($a) // TRUE $a == null // TRUE $a === null // TRUE is_null($b) // FALSE $b == null // TRUE $b === null // FALSE 

在php.net网站上有几个非常好的图表,显示了不同的值如何反应:

types比较 – php.net

你可以检查is_null()null === $ var之间的比较

两者之间好比较

===null是PHP的发明者Rasmus Lerdorf推荐的。 Rasmus说,null的testing比isset的testing更快。 他的build议是足够的理由来认真看待差异。 如果在一个Web页面请求中有几千次的小循环遍历相同的代码,那么这个区别将是非常重要的。

==不会检查types,所以不pipe怎样,某处,像string''或string'null'可能会出现等于空。

使用三重等号=== ,不仅检查两个值是否相等,而且它们是相同的types。