php中奖概率算法程序,PHP中奖概率的抽奖算法程序代码

PHP中奖概率的抽奖算法程序代码

//id为奖次,prize为中奖信息,v为中奖概率$prize_arr = array(

'0' => array('id' => 1, 'prize' => '1 ', 'v' => 1),

'1' => array('id' => 2, 'prize' => '2 ', 'v' => 2),

'2' => array('id' => 3, 'prize' => '3 ', 'v' => 5),

'3' => array('id' => 4, 'prize' => '4 ', 'v' => 10),

'4' => array('id' => 5, 'prize' => '5 ', 'v' => 15),

'5' => array('id' => 6, 'prize' => '6 ', 'v' => 67),

);

foreach ($prize_arr as $key => $val)

{

$arr[$val['id']] = $val['v'];

}

$rid = get_rand($arr); //根据概率获取奖项id

switch($rid)

{

case $rid==1:one();break;

case $rid==2:two();break;

case $rid==3:three();break;

case $rid==4:four();break;

case $rid==5:five();break;

case $rid==6:six();break;

}

/**

* 根据概率获取中奖号码

*/

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;

}

function one()

{

echo 'one------1';

}

function two()

{

echo 'two------2';

}

function three()

{

echo 'three------3';

}

function four()

{

echo 'four------4';

}

function five()

{

echo 'five------5';

}

function six()

{

echo 'six------6';

}

?>

©著作权归作者所有:来自51CTO博客作者zero_刺的原创作品,如需转载,请注明出处,否则将追究法律责任

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值