2016-06-22 22 views
-1

私は少しのPHPで作業しており、少し問題が発生しています。 私はランダムに1-360の数値を選択するためにPHPを使用しています。範囲で決まる値のリストと答えを比較しようとしています。乱数に基づいて文字列を選択してください

$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; 

いつでも私はこれを行うと、結果は常に "結果"に "オレンジ"の値を割り当てます。

私はここで間違ったことをしていますか、助けてください!

+2

今、あなたは割り当て( '=')をしています。あなたがしたいことは、次のようなものです。 '($ NumberC> = 0 && $ NumberC <= 21)' – Rizier123

+0

また、スイッチhttp://php.net/manual/en/control-structures.switchも使用する必要があります.php –

答えて

0

まず、 '=='であったはずの '='を1つだけ使用して比較してください。 2番目のrange()は配列を生成し、整数と配列を比較することはできません。第3に、$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心配する人はいません。質問に答えた場合は、これを回答としてマークしてください。 Cheers –

+0

これはうまく動作しますが、JavaScriptを使用してAjax関数を使用して結果を取得して関数に渡そうとすると、常に0となる結果になります。 –

関連する問題