为什么(false == 0)是真的?

时间:2016-10-08 09:19:13

标签: php

我只是subs()它输出var_dump(false==0)为什么bool(true)是真的。我知道false== 0是真的因为如果我true==1它会输出echo true;所以true的数值是1,但是false的数值不是1,因为当我0它没有显示任何内容(空)时,那么false如何与{具有相同的值} {1}}我们知道echo false;运算符比较值,如果它们相同则返回true,如果它们的值不相同则返回false,因此在0的情况下它应该是假。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

  

布尔值TRUE值转换为字符串" 1"。布尔值为FALSE   转换为"" (空字符串)。这允许转换回来   在布尔值和字符串值之间。

因此false == ""false == 0都是正确的。请注意,"0"0不同。

答案 1 :(得分:1)

你可以在这里查看。

PHP Type Comparison

简而言之,==松散比较运算符,它在比较之前调用类型转换。也许您应该使用严格比较运算符 ===代替。

同样的故事用JavaScript。

答案 2 :(得分:0)

fn.apply(null, args) false具有相同的值,这只是另一种写作方式

因此,0与说

是一回事

false == 00 == 0

而返回true