我为什么要写!== false而不是== true?

时间:2015-09-12 12:48:19

标签: testing boolean

我经常看到脚本测试变量是否与FALSE不同。

这是来自“fgetcsv”函数的php man的一个例子,但我想我也在Java上看过它。

while (($data = fgetcsv($handle, 1000, ",")) === TRUE) {
    //...
}

即使它变化不大,看起来更自然:

 if ($i % 4 == 0)
 {
  //Do something
 }

第二个代码的逻辑是否较少或效率较低?

1 个答案:

答案 0 :(得分:2)

PHP的一个常见习惯是让函数返回一些有意义的值,或者在某些失败的情况下使用布尔FALSE。在fgetcsv的情况下,当没有更多值要返回时,将返回索引数组或FALSE

使用=== TRUE根本不会在这里工作 - 索引数组不是布尔值TRUE,但最明确的是!== FALSE