2014-05-01 23 views
-8

我的问题是:如果我有2个变量,例如a=70 b=30 70和30个的平均百分比事件发生,怎样才能使PHP脚本来模拟下降变量“A”或“B的这个chanсes ”。百分比事件发生PHP

例子:

a=70 
b=30 

所以,如果我开始PHP脚本我有70%的机会看到 'a' 和30%,看 'B'。 对不起,我的问题不好描述,我以前没有这样做过。

+0

你想从计算的措辞更改为类似*模拟*?这似乎与您所得到的答案相匹配。 –

+0

似乎很简单,因为你的程序的输入是完全一样,所需的输出。 – Sammitch

回答

0

一般来说,对于自然数α> 0和b> 0

if(mt_rand(1,$a+$b)>$a){ 
    echo 'b'; 
} else { 
    echo 'a'; 
} 
+0

的想法是,你总结的可能性70例应该是A和B. 30(这是百分比方式)。在您通过(A + B)分配的数字1到这些情况,并要求mt_rand(http://www.php.net/manual/en/function.mt-rand.php)来生成这些边界之间的随机数(包含地);它会以相同的概率挑选它们中的任何一个。 –

+0

似乎有用。谢谢,我会测试它。 – user3140144

1
if(mt_rand(0, 100) > 70){ 
    echo 'b'; 
}else{ 
    echo 'a'; 
} 

当然,你可以说这不是“真正的随机”。但我不确定你会为此感到困扰。

+0

据http://www.php.net/manual/en/function.mt-rand.php两个边界是包容性的,所以这是bugous。 –