0
下面的代碼產生結果「我不明白這一點」。任何想法爲什麼?如果兩個字符串的長度相同,從第一個字符開始匹配,並且實際上在視覺上相等,爲什麼它們與相等運算符不相等?PHP字符串不等於但是strpos和長度相同
$userid = (int) $_POST['username'];
$password = trim($this->input->post('password'));
$hashed = trim(md5($password . $this->salt));
$success = false;
if($this->users[$userid]->password == $password) {
$success = true;
}
else {
if(strpos($hashed, $this->users[$userid]->password) === 0 &&
strlen($hashed) == strlen($this->users[$userid]->password)) {
echo "I don't understand this";
}
}
在回答這個問題時,請忽略使用md5散列密碼的可取性。
用途PHP5.3.2
哦<插入咒罵這裏>!愚蠢的疏忽。我一直盯着這裏一個小時,看不到那個。謝謝。 – Djehuty 2012-04-02 17:20:46