类存在检查比较

时间:2012-05-22 04:07:49

标签: php comparison

这些比较之间有区别吗? 有什么区别!和=== FALSE?

if (!class_exists($class)) {
  require($class.'.php');
}

if (class_exists($class) === FALSE) {
  require($class.'.php');
}

2 个答案:

答案 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 :(';
}