2012-03-03 5 views
0

이상한 문제가 있습니다. 나는이 같은 PHP는 문자열을 확인했다 :PHP 문자열이 같지 않습니다.

페이지 1

$_SESSION['test']=<a value from a row fetched from db> 

에 페이지 2

$myVar=$_SESSION['test']; 
echo $myVar; 

if($myVar=="This is the match string"){ 
echo "Matched"; 
}else{ 
echo "Not Matched"; 
} 

나는 $ myVar에 내가 다시 확인하고 같은 문자열 "이것은을 반향 것을 알 수 있습니다 일치 문자열 "하지만 여전히 다른 사람에게 들어갑니다. 나는 시도했다 :

$myVar=(string)trim($_SESSION['test']); 

그러나 아직도 그것은 다른 것에 간다. 문제는 무엇이 될 수 있습니까? 어떤 생각?

+1

if 문 바로 앞에 'var_dump ($ myVar, $ matchString);'을 실행하면 문제의 원인을 밝힐 수 있습니다. –

+2

'var_dump ($ str);'을 사용하여 그것들이 정말로 동일한 지 확인하십시오; 외부의 개행 등이 없도록하십시오. 또한 공백과 들여 쓰기를 사용하십시오. – mario

+0

문자열 유니 코드 문자가 있습니까? – dotoree

답변

2

뒤 공백 (공백, 탭, 줄 바꿈)이있을 수 있습니다.

$myVar = trim($_SESSION['test']); 

수행 위해서 var_dump를보세요 ($ _SESSION [ '테스트']); 문제를 드러 낼 수도 있습니다.

1

문자열이 실제로 동일합니까? 시도해보십시오 var_dump ($ _ SESSION [ 'test']); 두 길이와 문자를 비교하십시오.

관련 문제