为什么不使用is_null()?

812*_*128 3 php isnull codesniffer

运行CodeSniffer PHP样式测试给了我以下错误:

The use of function is_null() is forbidden    
Squiz.PHP.ForbiddenFunctions.Found
Run Code Online (Sandbox Code Playgroud)

为什么禁止使用is_null()?

Gre*_*ood 8

为了保持一致性,我们在Squiz标准中实施了这条规则.

例如,标准的另一部分禁止隐含表达if ($var) {....所以你需要写if ($var === TRUE) {....

因此,NULL值的比较如下所示:

if (is_null($var) === TRUE) {
}
Run Code Online (Sandbox Code Playgroud)

鉴于您已经必须编写比较的后半部分,因此更容易编写:

if ($var === NULL) {
}
Run Code Online (Sandbox Code Playgroud)

代码更简单,但也(更重要的是)与我们的工作方式更加一致.

这是唯一的原因.我们并不关心性能,并且与is_null()函数本身没有任何问题.据我所知,它工作得很好.

希望这能回答你的问题.

  • 但是不是`$ var === TRUE`的结果是另一个布尔值?所以你应该写`($ var === TRUE)=== TRUE.等等...... (2认同)