首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

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

2014-01-17 
还是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)

$r<=20 a获奖
20<$r<=(20+30) b获奖
(20+30)<=$r c获奖

热点排行