function getRand($proArr) { //传入的为一维数字数组,此数组中数字即为相应概率
$result = '';
//概率数组的总概率精度
$proSum = array_sum($proArr);
//概率数组循环
foreach ($proArr as $key => $proCur) {
$randNum = mt_rand(1, $proSum);
if ($randNum <= $proCur) {
$result = $key;
break;
} else {
$proSum -= $proCur;
}
}
unset ($proArr);
return $result;
}
中奖概率算法
最新推荐文章于 2021-09-02 09:41:00 发布
本文介绍了一种基于概率权重的随机数生成算法。通过输入一个包含权重的概率数组,该算法可以返回一个根据这些权重随机选择的元素。核心思想是利用概率数组中的权重比例来决定随机选择的结果。
1188

被折叠的 条评论
为什么被折叠?



