我不太清楚如何写这个:我想生成一个从0到2的随机数,然后写一个if
语句,它只在33%的时间内执行特定的代码。
这就是我试图做的事情:
if (rand(0, 3)=="2") { echo "Success" };
答案 0 :(得分:9)
这两个参数表示最小和最大随机值。如果你想要三分之一的机会,你应该只允许3种可能性。从最小0到最大3允许4个可能的值(0,1,2,3),因此不会完全按照您的意愿行事。此外,mt_rand()
使用的功能比rand()
更好。
所以它是:
if (mt_rand(1, 3) == 2)
echo "Success";
答案 1 :(得分:3)
PHP的rand()
限制包含在内,因此您需要if(rand(0,2) == 2)
。
答案 2 :(得分:2)
执行特定代码仅33% 当时。
只是想指出使用随机只会让代码执行33%机会而不是1/3运行它。
答案 3 :(得分:1)
您的代码将在25%的时间内执行。 {0 1 2 3}是一组4个数字。你想做什么
if(rand(1,3)==2)...
答案 4 :(得分:1)
替换为
if (rand(0, 2)==2) { echo "Success"; }
答案 5 :(得分:1)
我知道这是一个迟到的答案,但我会做
if(!rand(0,2))
{
//do stuff
}
对于所需的任何分数1/x
,请将0,2
替换为0,x-1