相关疑难解决方法(0)

将String与Integer进行比较会产生奇怪的结果

我真的很困惑为什么这个操作有效.有人可以解释一下吗?

$test1 = "d85d1d81b25614a3504a3d5601a9cb2e";
$test2 = "3581169b064f71be1630b321d3ca318f";

if ($test1 == 0)
  echo "Test 1 is Equal!?";
if ($test2 == 0)
  echo "Test 2 is Equal!?";

// Returns: Test 1 is Equal!?
Run Code Online (Sandbox Code Playgroud)

为了澄清,我试图将字符串"0"$test变量进行比较.我已经知道修复代码我可以附上(因为我应该有)的0""小号

我想知道这是一个PHP错误,服务器错误,还是某种有效的操作.根据http://us3.php.net/types.comparisons,应该没有用.

编辑: Scratch,显然它确实提到字符串和0之间的松散比较是真的.但我还是不知道为什么.

编辑2:我修改了我的问题,为什么$test2价值"3581169b064f71be1630b321d3ca318f"不起作用?

php comparison casting

31
推荐指数
3
解决办法
4万
查看次数

标签 统计

casting ×1

comparison ×1

php ×1