类存在检查比较


Class Exists Check Comparison

这种比较之间有区别吗?两者之间有什么区别!和 === 假 ?

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

在这种情况下,没有。

有些人认为明确表明他们正在与布尔值进行比较是一种很好的编程风格。个人。。。我不喜欢它,但我想更冗长的形式更明显,因为 !运算符不是在括号和其他垂直字符之间粉碎时可见的东西。

是的,两者都是不同的东西:

PHP 会自动将 0 视为"假",将 1 视为"真",因此当您直接在 if 条件中使用函数响应时,这两者都会有所不同。

考虑一个函数,如果正确执行,它将返回 int number。 它也可能是 0。但是,如果函数与要求不匹配,则返回 false。

因此,此时返回值 0 的函数是成功的。 事件,尽管结果为零。在这种情况下,如果您检查此条件,例如

$return = someFunction();
if($return){
  //code if ture
}

因此,如果$return为 0,即使您的函数执行正确,您的 if 代码也不会执行,因此在这种情况下,您应该检查类似

$return = someFunction();
if($return !== FALSE){
  //code if ture
}

=== 和 !== 也用于检查响应是否与返回类型完全匹配。

if('0' === 0)

将返回假但

if('0' == 0)

将返回真...

希望你的想法现在很清楚。

看看这个:

if('0' == 0){
    echo 'Hi, I will be in screen :)';
}
if('0' === 0){
    echo 'I will not be in screen :(';
}