zoukankan      html  css  js  c++  java
  • PHP大转盘中奖概率算法实例

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

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

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

     1 header("Content-type: text/html; charset=utf-8");
     2 $prize_arr = array(
     3 '0' => array('id'=>1,'prize'=>'平板电脑','v'=>1),
     4 '1' => array('id'=>2,'prize'=>'数码相机','v'=>5),
     5 '2' => array('id'=>3,'prize'=>'音箱设备','v'=>10),
     6 '3' => array('id'=>4,'prize'=>'4G优盘','v'=>12),
     7 '4' => array('id'=>5,'prize'=>'10Q币','v'=>22),
     8 '5' => array('id'=>6,'prize'=>'下次没准就能中哦','v'=>50),
     9 );
    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);
     
  • 相关阅读:
    linux下创建一个指定大小的文件
    批量替换多个文件中的字符串
    redhat 搭建yum 源
    python ConfigParser 模块
    python yaml 模块
    python xml文件处理
    py2exe 和pyinstaller打包
    wxpython 学习之 --threading
    wxpython 学习之 --文本框与Boxsizer布局管理器
    wxpython 学习之 --窗口分割
  • 原文地址:https://www.cnblogs.com/wujunbin/p/7560834.html
Copyright © 2011-2022 走看看