PHP误报

时间:2014-07-30 20:51:09

标签: php

所以我有这个功能,我试图理解这是真的,如果我使用===而不是==,它是如何出现的。

function is_equal($value1, $value2) {
    $output = "{$value1} == {$value2}: ";
    if ($value1 == $value2) {
        $output = $output . "true<br />";
    } else {
        $output = $output . "false<br />";
    }

    return $output;

}

echo is_equal("123", "   123");
echo is_equal("123", "+0123");

?>

上面的代码是真的,因为我正在测试==那是怎么回事?如果我使用===它是假的

3 个答案:

答案 0 :(得分:1)

当您使用==比较相等性时,PHP将处理这些类型。我怀疑你的类型正在被杂乱,导致数字比较。

使用===比较相等性时,首先比较类型,然后是值。

答案 1 :(得分:0)

是的,这是对的。 ===将比较值和= = = =比较值是否相同。

你也可以尝试这个:

echo is_equal("123", 123);

答案 2 :(得分:0)

===测试两个变量是否相同(相同的值,相同的类型)。 ==测试平等并为你打字。

阅读over here