我正在尝试建立一种概率算法,该算法将根据这些概率为用户提供奖励。
1 $-60%
2 $-25%
5 $-12%
10 $-1.99%
50 $-1%
500 $-0.01%
我该怎么做?你能给我例子代码吗?任何帮助表示赞赏!
答案 0 :(得分:2)
您可以在此处使用rand
函数。将所有概率乘以100即可使用整数类型,它们的总和为10000。生成1到10000之间的随机数。现在,如果随机数介于10和10000之间,则概率为60% ,1和6000,则奖励为1 $,其他概率以此类推。
<?php
function reward() {
$random = rand(1, 10000);
if($random >= 1 && $random <= 6000) {
$reward = 1;
} else if($random > 6000 && $random <= 8500) {
$reward = 2;
} else if($random > 8500 && $random <= 9700) {
$reward = 5;
} else if($random > 9700 && $random <= 9899) {
$reward = 10;
} else if($random > 9899 && $random <= 9999) {
$reward = 50;
} else {
$reward = 500;
}
return $reward;
}
echo reward();
?>