所以我有这个功能,我试图理解这是真的,如果我使用===而不是==,它是如何出现的。
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");
?>
上面的代码是真的,因为我正在测试==那是怎么回事?如果我使用===它是假的
答案 0 :(得分:1)
当您使用==
比较相等性时,PHP将处理这些类型。我怀疑你的类型正在被杂乱,导致数字比较。
使用===
比较相等性时,首先比较类型,然后是值。
答案 1 :(得分:0)
是的,这是对的。 ===将比较值和= = = =比较值是否相同。
你也可以尝试这个:
echo is_equal("123", 123);
答案 2 :(得分:0)
===
测试两个变量是否相同(相同的值,相同的类型)。 ==
测试平等并为你打字。
阅读over here。