2012-03-03 19 views
0

私は奇妙な問題があります。私は、これは」$ myVarには、私はもう一度チェックしています、同じ文字列をエコー出力することを見ることができるのPage1PHP文字列がチェックに失敗した場合

Page2の

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

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

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

:私はこのようなPHPの文字列をチェックしています一致する文字列 "が表示されますが、それでも他に入ります。私は試しました:

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

しかし、それでも他に入ります。何が問題なの?何か案が?

+1

if文の直前で 'var_dump($ myVar、$ matchString);'を実行してください。これにより、問題の原因が明らかになります。 –

+2

'var_dump($ str);'を使って、それらが本当に同一であることを確認します。無関係な改行などはありません。また、いくつかのスペースとインデントを使用します。 – mario

+0

文字列のUnicode文字はありますか? – dotoree

答えて

2

末尾に空白(スペース、タブ、改行)がある可能性があります。

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

行うのvar_dumpを試してみてください($ _SESSION [ 'テスト']);問題を明らかにするかもしれない。

1

あなたの文字列は本当に等しいですか? var_dumpを試してください($ _ SESSION ['test']); 2つの長さと文字を比較する。