这个答案由三部分组成:
(false !== $var)而不是if (false === true)因为经常犯的错误是忘记放两个=导致意外归属而不是比较,一些程序员决定总是将等式的不变部分放在左侧.这样,意外分配是不可能的,你不会冒险
if ($var = false)
它为变量赋值false,$var并且总是评估false而不是所需的
if ($var == false)
该===或!==变量的比较类型以及它的价值,而,==和!=比较值,并根据需要进行类型转换.
例:
0 == false // true
1 == true // true
0 === false // false
1 === true // false
0 !== false // true
0 !== true // true
false === false // true
false === true // false
Run Code Online (Sandbox Code Playgroud)
$var !== FALSE之所以使用,是因为很多内置的PHP函数都会返回FALSE错误,并且会成功返回值.返回的值可能与值相同,TRUE但可能不是同一类型.
(false !== $var)而不是if (false === true)你的问题本身让人嗤之以鼻(这就是为什么OrangeDog的评论得到了如此多的支持):如果人们这样做了if (false === true),它就等于if(false)并且永远不会执行封闭的块.它仍然会发生,例如在JavaScript中,部分代码是在服务器端语言(如PHP)中生成的.