Я не так уверен, как записать это: Я хочу генерировать случайное число от 0 до 2, затем записать if
оператор, который выполняет определенный код только 33% времени.
Это - то, что я пытался сделать:
if (rand(0, 3)=="2") { echo "Success" };
Два аргумента представляют минимальное и максимальное случайные значения. Если вам нужен шанс 1 к 3, вы должны разрешить только 3 возможности. Переход от минимального 0 до максимального 3 допускает 4 возможных значения (0,1,2,3), так что это не совсем то, что вы хотите. Кроме того, mt_rand ()
лучше использовать, чем rand ()
.
Итак, это будет:
if (mt_rand(1, 3) == 2)
echo "Success";
Ограничения PHP rand ()
являются включительными, поэтому вам нужно if (rand (0,2) == 2)
.
Ваш код будет выполняться 25% случаев. {0 1 2 3} - это набор из 4 чисел. вы хотите сделать
if (rand (1,3) == 2) ...
, который выполняет определенный код только 33% времени.
Просто хочу отметить, что использование случайного числа дает коду только 33% шанс выполнения, а не 1/3 времени.