PHP大转盘中奖概率算法实例

分类:PHP_Python| 发布:llmaomi| 查看:322 | 发表时间:2015/3/5

本文实例讲述了PHP大转盘中奖概率算法的实现方法,分享给大家供大家参考。具体如下:

大转盘是最近很多线上网动中一个比较有意思的东西了,下面我们就来看看这个大转盘中奖概率算法与例子,希望对各位有所帮助。

这是一个APP客户端有大转盘抽奖算法,具体如何抽奖当然在我们服务端实现了。下面和大家简单分享一下实现代码:

代码如下:
01header("Content-type: text/html; charset=utf-8");
02 $prize_arr = array(
03 '0' => array('id'=>1,'prize'=>'平板电脑','v'=>1),
04 '1' => array('id'=>2,'prize'=>'数码相机','v'=>5),
05 '2' => array('id'=>3,'prize'=>'音箱设备','v'=>10),
06 '3' => array('id'=>4,'prize'=>'4G优盘','v'=>12),
07 '4' => array('id'=>5,'prize'=>'10Q币','v'=>22),
08 '5' => array('id'=>6,'prize'=>'下次没准就能中哦','v'=>50),
09 );
10   
11 $actor = 100;
12   
13 foreach ($prize_arr as $v) {
14     $arr[$v['id']] = $v['v'];
15 }
16 foreach ($arr as &$v) {
17     $v = $v*$actor;
18 }
19 asort($arr);
20 $sum = array_sum($arr);   //总概率
21   
22 $rand = mt_rand(1,$sum);
23   
24 $result = '';    //中奖产品id
25   
26 foreach ($arr as $k => $x)
27 {
28    if($rand <= $x)
29    {
30     $result = $k;
31     break;
32    }
33    else
34    {
35     $rand -= $x;
36    }
37 }
38 $res['yes'] = $prize_arr[$result-1]['prize']; //中奖项
39 print_r($res);
365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/php-python/1931.html