在我的PHP中自动将False转换为null

时间:2014-07-12 08:57:59

标签: php

我是PHP新手,我在代码中找到了,当我将FALSE传递给函数时。它立即转换为null。我读过一些知道False和null相等的文章。但我不知道这种转变何时发生。

以下是我的代码

function equal($expected, $actual){
    if($expected == $actual) { //... }
}
function foo(){
    $signal = getSignal();
    equal(FALSE, $signal->good); //...
}

2 个答案:

答案 0 :(得分:1)

您需要使用三等号===来表示平等。例如

false == null; // true

false === null; // false

0 == false; // true

0 === false; // false

检查comparison operators

上的文档

答案 1 :(得分:-1)

不,他们没有被转换。您可以var_dump($variable)随时查看$variable的类型和值。但是有一些事情用false比较运算符计算到==。因此实际上false == null将评估为true,就像PHP中的false == 0false == "0"一样。这就是比较运算符===进入图片的原因 - 在上面的例子中使用了==而不是false,而不是true

有关详细信息,请参阅http://php.net/manual/en/language.operators.comparison.php