2009-08-03 8 views
0

は、私はこれらの宣言2つの文字列変数を比較するにはどうすればよいですか?

$username = $this->users->getUsernameById($file->user); 
$sessionuser = $this->session->userdata('username'); 

は、どのように私は2つの値と比較して行くと、彼らが一致した場合、コードを実行するでしょうか? は私が

if ($username == $sessionuser){ 

blalghalhalhalhllahblahhblahhblahhh 
} 

を持っていたが、2つの変数が同じであっても、if声明をトリガしていないようです。私は間違ったことをしましたか?多分==ではなく、ちょうど=

答えて

2

strcmp()関数を使用するか、大文字と小文字を区別しない比較のためにstrcasecmp()を使用してください。

if (strcmp($username, $sessionuser) == 0) { 
2

一般的に言えば、PHPは、疎結合された動的な性質のために、比較操作に関して非常に寛容です。

あなたのコードをデバッグするために、これを試してください:あなたは、あなたが期待している値は、あなたが取得している実際の値ではないことを見つけるかもしれ

echo $username . '<br/>' . $sessionuser; 

私は頻繁に私のコードをステップ実行すると、このような何かを配置するときにしなければならないもう一つ:

echo 'got here'; 
exit; 

すぐにあればブロック内のそれはブロックが実行されるか、それかどうかをされていないということです非常にかどうかについて私が期待したように実行していないブロック内のコードです。

関連する問題