我的问题是:如果我有2个变量,例如a=70 b=30
70和30个的平均百分比事件发生,怎样才能使PHP脚本来模拟下降变量“A”或“B的这个chanсes ”。百分比事件发生PHP
例子:
a=70
b=30
所以,如果我开始PHP脚本我有70%的机会看到 'a' 和30%,看 'B'。 对不起,我的问题不好描述,我以前没有这样做过。
我的问题是:如果我有2个变量,例如a=70 b=30
70和30个的平均百分比事件发生,怎样才能使PHP脚本来模拟下降变量“A”或“B的这个chanсes ”。百分比事件发生PHP
例子:
a=70
b=30
所以,如果我开始PHP脚本我有70%的机会看到 'a' 和30%,看 'B'。 对不起,我的问题不好描述,我以前没有这样做过。
一般来说,对于自然数α> 0和b> 0
if(mt_rand(1,$a+$b)>$a){
echo 'b';
} else {
echo 'a';
}
的想法是,你总结的可能性70例应该是A和B. 30(这是百分比方式)。在您通过(A + B)分配的数字1到这些情况,并要求mt_rand(http://www.php.net/manual/en/function.mt-rand.php)来生成这些边界之间的随机数(包含地);它会以相同的概率挑选它们中的任何一个。 –
似乎有用。谢谢,我会测试它。 – user3140144
if(mt_rand(0, 100) > 70){
echo 'b';
}else{
echo 'a';
}
当然,你可以说这不是“真正的随机”。但我不确定你会为此感到困扰。
据http://www.php.net/manual/en/function.mt-rand.php两个边界是包容性的,所以这是bugous。 –
你想从计算的措辞更改为类似*模拟*?这似乎与您所得到的答案相匹配。 –
似乎很简单,因为你的程序的输入是完全一样,所需的输出。 – Sammitch