这些比较之间有区别吗? 有什么区别!和=== FALSE?
if (!class_exists($class)) {
require($class.'.php');
}
if (class_exists($class) === FALSE) {
require($class.'.php');
}
答案 0 :(得分:1)
在这种情况下,没有。
有些人认为明确表明他们与布尔值进行比较是一种很好的编程风格。个人......我不喜欢它,但我想更详细的形式更明显,就像!当在括号和其他垂直字符之间粉碎时,操作符不是明显可见的东西。
答案 1 :(得分:-1)
是的,两者都是不同的东西:
php会自动将0视为“false”,将1视为“true”,因此当您在if条件中直接使用函数响应时,这两者都会产生影响。
考虑一个函数,如果正确执行则返回int数。它也可能是0。 但是如果函数与要求不匹配则返回false。
所以此时函数返回值0成功。事件虽然结果为零。如果你在条件如
中检查这个$return = someFunction();
if($return){
//code if ture
}
所以如果$ return为0你的if代码将不会执行,即使你的函数执行是正确的,所以在这种情况下你应该检查
$return = someFunction();
if($return !== FALSE){
//code if ture
}
===和!==用于检查响应是否与返回类型完全匹配。
if('0' === 0)
将返回false 但是
if('0' == 0)
将返回true ...
希望你的想法现在清楚。
检查一下:
if('0' == 0){
echo 'Hi, I will be in screen :)';
}
if('0' === 0){
echo 'I will not be in screen :(';
}