Php参数值自动更改


Php parameter values changing automatically

我刚刚创建了一个facebook应用程序,在发现我的代码中的这个奇怪问题之前,一切都很顺利。

在我代码中的某个地方,它正确地从Facebook图形api中检索用户性别,然后对其进行一些工作比较,但在进行if-else比较后,参数值突然自动更改。

$userGender = json_decode(file_get_contents('http://graph.facebook.com/'.$userId)) -> gender;
$gender = "";
echo "userGender: " . $userGender . "<br/>";
if ($userGender = "male") {
$gender = "Man";
} else if ($userGender = "female") {
$gender = "Woman";
}
echo "userGender: " . $userGender . "<br/>";
echo "gender: " . $gender . "<br/>";

上面的代码给出了以下输出(请记住,该用户的真实性别是"女性"):

userGender: female //Correct output
userGender: male // Wrong output
gender: Man //Wrong output

我完全被这个问题弄糊涂了,。请帮助我克服它,它给我带来了严重的问题。感谢

您使用的是赋值运算符,而不是==。

正确代码:

if ($userGender == "male") {
    $gender = "Man";
} else if ($userGender == "female") {
    $gender = "Woman";
}

您需要==而不仅仅是=

if ($userGender == "male") {
    $gender = "Man";
} else if ($userGender == "female") {
    $gender = "Woman";
}