【发布时间】:2013-09-07 07:00:50
【问题描述】:
我知道数字字符串可能会在 PHP 中进行类型处理,但我不明白为什么会在这里发生或给出这个结果:
$a="00010010001101000000101";
$b="00010010001101000000001";
$c = (($a == $b) ? "true" : "false");
$d = (($a === $b) ? "true" : "false");
echo $c . " " . $d . "\n"; // true false
但在这种情况下,$a 和 $b 的定义方式相同,长度相同,但包含许多字符的不同内容。 ($a == $b) 如何评估为真?
【问题讨论】:
-
您使用的是什么版本的 PHP?我收到
false false。 -
5.4.16 也收到
false false -
似乎是一个已知的错误,已修复:bugs.php.net/bug.php?id=54547 可以确认至少 PHP 5.4.17 不再受影响。
-
@Scuzzy 您使用的是 php 5.4> 而他使用的是 php 5.3 或更低版本!
-
codepad.viper-7.com 你可以在各种 php 版本中试用它,看看哪些有效,哪些无效
标签: php type-conversion operator-keyword