有了這個代碼:PHP - 用==比較運算沒有得到預期的結果
if($foo['bar'] == $baz) {
$results[] = $foo;
}
我永遠達不到分配$results[] = $foo;
(某一個值)
現在,如果我這樣做(與此相同,一定值):
strcmp(trim($foo['bar']), trim($baz));
我得到的0
結果,表示字符串其實都是平等的。那麼...爲什麼在世界上我不能達到$results[] = $foo;
?
如果兩個strcmp等於0,$ foo ['bar'] == $ baz是不是應該爲真?我錯過了什麼?
順便說一句,它只是一個特定的比較失敗。使用相同的if語句的其他比較將正常工作。
例如:
當$ foo的[ '酒吧'] == '肉' 和$巴茲== '肉',我得到$結果[ '肉']
但是當$ foo的[」酒吧'] =='肉醬'和$巴茲=='肉醬'我得到$結果[]
你可以發佈圍繞此代碼的代碼,並可能發送真正的值,因此它可以被測試?日Thnx。 – DeaconDesperado 2011-03-21 01:24:56
@DeaconDesperado - 明白了。我只是在我的測試中包含了trim(),但沒有在實際遇到麻煩的代碼中嘆息。 – Lothar 2011-03-21 01:38:10