嘿,如果您有以下代码并想检查是否$key
火柴Hello
我发现比较总是返回true
如果变量是0
。当一个特殊键的数组时,我遇到了这个问题,并想知道为什么它没有按预期工作。
请参阅此代码的示例。
$key = 1;
if ($key != 'Hello') echo 'Hello'; //echoes hello
$key = 2;
if ($key != 'Hello') echo 'Hello'; //echoes hello
$key = 0;
if ($key != 'Hello') echo '0Hello'; //doesnt echo hello. why?
if ($key !== 'Hello') echo 'Hello'; //echoes hello
谁能解释一下吗?
经营者==
and !=
不要比较类型。因此 PHP 自动将 'Hello' 转换为整数0
(intval('Hello')
)。当不确定类型时,请使用类型比较运算符===
and !==
。或者更好地确定您在程序中的任何点处理哪种类型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)