2012-03-14 32 views
0

我剛剛創建了一個Facebook應用程序,一直都很順利,直到我的代碼出現這個奇怪的問題。Php參數值自動變化

在我的代碼中的一個地方,它正確地從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 

我完全失去了與這個問題,。請幫助我解決這個問題,併爲我在運行中造成嚴重的問題。 謝謝

回答

4

您使用賦值運算符,而不是==。

正確的代碼:

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

你需要一個==不僅僅是=

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