2012-09-05 1 views
1

이것은 나를 미치게합니다. 두 개의 정수가 동일해야합니다. PHP 5.2과 5.4 모두에서PHP 평등 - 어디가 잘못 되었나요?

<?php 

function getPort() { 
    return 443; 
} 

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

?> 

결과 : $ 포트 동일하지 않은 443 만 443 않습니다이 $ 포트를 동일 않는 이유 앞의 코드에서

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

? 나는 분명히 어리석은 짓을하고있을 것인가?

+2

443 및 433 .. 광학 환상. – DhruvPathak

+0

그것이 그것이 시작되는 방법입니다 ... 그것을 좋아하십시오 :) – p0rter

+0

왜 세 번째가 틀렸습니까? – Basith

답변

3

첫 번째 매개 변수에는 $ port == 433이고 두 번째 매개 변수에는 443 개가 있으므로 올바른 것입니다.

질문에 대답하려면 예. 너 바보 같은 짓하고있어! ;)

4

작은 오타 :

당신이 $port 아니라 443와 433을 비교하면!

$port == 433 

443 == $port 
+0

왜냐하면 433 == 433 및 443! = 433 – p0rter

+0

@Fluffeh eh? 433 == 433 == true .... –

+0

@Fluffeh 왜냐하면 '433 == 433'이 맞습니까? 아니면 세 번째 말인가요? 이 경우'$ port'는 443으로 설정됩니다. 이것은 443과 같습니다. – Sirko

0

대 당신은 $ 포트에 443을 설정하고 항상 false를 돌려줍니다 433 이와 비교.