Как я могу случайным образом выполнить код 33% времени в PHP?

Я не так уверен, как записать это: Я хочу генерировать случайное число от 0 до 2, затем записать if оператор, который выполняет определенный код только 33% времени.

Это - то, что я пытался сделать:

if (rand(0, 3)=="2") { echo "Success" };
6
задан iTayb 4 November 2013 в 07:30
поделиться

5 ответов

Два аргумента представляют минимальное и максимальное случайные значения. Если вам нужен шанс 1 к 3, вы должны разрешить только 3 возможности. Переход от минимального 0 до максимального 3 допускает 4 возможных значения (0,1,2,3), так что это не совсем то, что вы хотите. Кроме того, mt_rand () лучше использовать, чем rand () .

Итак, это будет:

if (mt_rand(1, 3) == 2)
    echo "Success";
9
ответ дан 8 December 2019 в 13:44
поделиться

Ограничения PHP rand () являются включительными, поэтому вам нужно if (rand (0,2) == 2) .

3
ответ дан 8 December 2019 в 13:44
поделиться

Замените на

if (rand(0, 2)==2) { echo "Success"; }
1
ответ дан 8 December 2019 в 13:44
поделиться

Ваш код будет выполняться 25% случаев. {0 1 2 3} - это набор из 4 чисел. вы хотите сделать

if (rand (1,3) == 2) ...

1
ответ дан 8 December 2019 в 13:44
поделиться

, который выполняет определенный код только 33% времени.

Просто хочу отметить, что использование случайного числа дает коду только 33% шанс выполнения, а не 1/3 времени.

2
ответ дан 8 December 2019 в 13:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: