gpt4 book ai didi

php - php 中奇怪的 boolean 表达式求解

转载 作者:行者123 更新时间:2023-12-04 16:45:42 25 4
gpt4 key购买 nike

$foo = 0;

if($foo == 'on') $foo = 1;

echo $foo;

上面的代码应该输出“0”。然而事实并非如此,$foo == 'on' 会导致 TRUE,尽管这显然是错误的。将表达式替换为 $foo === 'on' 给出了正确的答案,因此任何对这可能是某些打字问题的怀疑似乎都得到了证实。

尽管如此,如果 $foo'on',PHP 如何认为 $foo'on'甚至不是同一类型?这是一个错误还是一些奇怪的功能?

最佳答案

在 php 中,字符串和 int 0 的松散比较(==)被评估为 True。虽然严格比较 (===) 也会比较相同的类型,但这意味着如果 Booth 变量是字符串或整数,则进行比较。但这被评估为 false,因为 $foo 是一个 int 而 'on' 是一个字符串。另请参阅 php.net 上的比较表:http://php.net/types.comparisons

关于php - php 中奇怪的 boolean 表达式求解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/868255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com