2016-06-22 71 views
-1

我正在學習一些PHP,並且遇到了一些問題。 我使用PHP從1-360隨機選擇一個數字。我試圖將答案與由範圍確定的價值清單進行比較。根據隨機數字選擇一個字符串

$NumberA = rand(0,180); 
$NumberB = rand(0,180); 
$NumberC = $NumberA + $NumberB; 

if ($NumberC = range(0,21) { 
    $result = "Orange"; 
} 
elseif ($NumberC = range(22,42) { 
    $result = "Red"; 
} 
elseif ($NumberC = range(43,63) { 
    $result = "Blue"; 
} 
      //This goes on for a while    ... 
else { 
    $result = "Green"; 
} 

echo = $result; 

任何時候我這樣做,結果總是給$ result賦值「Orange」。

我確定我在這裏做錯了,請幫忙!

+2

現在你正在做一個任務('=')。你想要做的是這樣的:'($ NumberC> = 0 && $ NumberC <= 21)' – Rizier123

+0

你也應該使用一個開關http://php.net/manual/en/control-structures.switch .php –

回答

0

首先,你只用一個'='來進行比較,而它應該是'=='。第二個range()生成一個數組,你不能將一個整數與一個數組進行比較。第三,爲什麼當你可以檢查$NumberC位於範圍的最小值和最大值之間時,每次生成範圍?

你的代碼更改爲:

$NumberA = rand(0,180); 
$NumberB = rand(0,180); 
$NumberC = $NumberA + $NumberB; 

if ($NumberC >= 0 && $NumberC <= 21) { 
    $result = "Orange"; 
} elseif ($NumberC >= 22 && $NumberC <= 42) { 
    $result = "Red"; 
} elseif ($NumberC >= 43 && $NumberC <= 63) { 
    $result = "Blue"; 
} else { 
    $result = "Green"; 
} 

echo $result; 

應當制定。希望這可以幫助。

+0

非常感謝!我是這樣的新手! –

+0

@CoryBell不用擔心人。如果它回答了您的問題,請隨時將其標記爲答案。歡呼 –

+0

好吧,這樣的工作是正確的,但現在當我嘗試使用Javascript的Ajax函數來獲得結果並將其傳遞給一個函數,它總是作爲0結果:\即時通訊假設它不能找到值.. –