2011-10-11 3 views
0

어떻게 가능합니까?이상한 변수 동작

$post_icon = $_REQUEST['icon']; 
if($post_icon == 0) 
    var_dump($post_icon); 

출력 : $post_icon0 동일하지 않은 것처럼 그것은 아무것도 인쇄 야해

string(15) "icon_smilie.gif" 

.

string(15) "icon_smilie.gif" 이것은 내 아이콘 (라디오 입력으로 선택됨)이지만, 이유는 모르겠지만 0 값을 통과하고 있습니다.

무엇이 문제입니까?

+0

이 HTML 프런트 엔드 잘못 어떤 것을 할 수있다 (숫자 하단에, 문자열 변환) Comparison OperatorsPHP type comparison tablesStrings를 참조하십시오? 너 더블 체크 했니? – Sudantha

답변

4

비교는 문자열을 숫자로 변환, 즉 0 : 숫자 문자열은 문자열과 숫자를 비교하거나 비교가 관련된 경우

, 각 문자열이 번호와 비교로 변환된다 수치 적으로 수행된다.

값은 문자열의 초기 부분에 의해 주어진다. 문자열이 유효한 숫자 데이터로 시작하면이 값이 사용됩니다. 그렇지 않으면 값은 0입니다.

대신 엄격한 비교 ===을 사용하십시오. 또한 값의 유형을 비교합니다.

+0

감사합니다. 왜 그런 일이 일어 났습니까? – Cyclone

+0

그렇게 정의 되었기 때문입니다. –