PHP - false == 0 but false != “00” [重复]

PHP - false == 0 but false != "00" [duplicate]

提问人:Nicolas Henry 提问时间:8/29/2023 更新时间:8/29/2023 访问量:40

问:

我在检查虚假条件时遇到了问题,并且不明白“虚假”是如何工作的。

我测试了上面的代码,

echo (0 == false); //->true
echo ("0" == false); //->true
echo ("0" == 0); //->true
echo ("000000000000" == 0); //->true
echo ("000000000000" == false); //->false

并且不明白为什么最后一个结果是假的而不是真的。

谢谢你的解释。

php 布尔表达式

评论

3赞 CBroe 8/29/2023
你经历过 php.net/manual/en/language.types.type-juggling.php 吗?

答:

0赞 Harry B 8/29/2023 #1

“000000000000”和“00”以及“0”以外的任何内容都被评估为真,因为它们在PHP中被视为常规的非空字符串,因此不被视为虚假值。PHP 只会将 “0” 评估为 false。