2016-06-22 2 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.

Имейте в виду, что я делаю что-то неправильно здесь, пожалуйста, помогите!

+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

Спасибо большое! Im такой noob! –

+0

@CoryBell Не беспокоит человек. Не стесняйтесь отмечать это как ответ, если он ответил на ваш вопрос. Cheers –

+0

Хорошо, так что это работает правильно, но теперь, когда я пытаюсь использовать функцию Ajax с Javascript, чтобы получить результат и передать его функции, он всегда отображается как 0: \, который im предполагает, что он не может найти значение. –

Смежные вопросы