PHP平等 - 我哪里错了?

时间:2012-09-05 12:51:33

标签: php integer equality

这让我疯了。两个整数应该相等。

<?php

function getPort() {
    return 443;
}

$port = getPort(); 
var_dump(433, $port, $port == 433, 443 == $port, 433 == 433);

?>

PHP 5.2和5.4中的结果:

int(433)
int(443)
bool(false)
bool(true)
bool(true)

在前面的代码中,为什么$ port不等于443但443 等于$ port?我一定肯定会做些蠢事吗?

3 个答案:

答案 0 :(得分:4)

小错字:

将433与$port进行比较,而不是443!

$port == 433

VS

443 == $port

答案 1 :(得分:3)

您在第一个参数中执行$ port == 433,在第二个参数中执行443,因此它是正确的。

所以,回答你的问题,是的;你做的事情很蠢! ;)

答案 2 :(得分:0)

您在$ port中设置443并与433进行比较。 这将始终返回false。