您好,欢迎访问一九零五行业门户网

还是php的概率的有关问题,求解说

还是php的概率的问题,求解说
概率计算函数,网上搜了很多都是这个,不过没看得懂这函数,求解下过程是怎样的~
这数组是id和相应的概率。
array
(
[1] => 1
[2] => 5
[3] => 10
[4] => 12
[5] => 22
[6] => 50
)
为什么这样就能得到概率奖项的id呢??get_rand($arr);
function get_rand($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;
}
分享到: 更多
------解决办法--------------------
假设a:20% b:30% c:50%
$r=rand(1,100)
$r20(20+30)
其它类似信息

推荐信息