文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php教程>php 怎么实现大转盘功能

php 怎么实现大转盘功能

时间:2021-11-29  来源:互联网

今天PHP爱好者为您带来php实现大转盘功能的方法:1、拼装奖项数组,代码如“$prize_arr = array(...)”;2、计算中奖概率;3、返回中奖情况即可。希望对大家有所帮助。

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php 怎么实现大转盘功能?

PHP实现大转盘抽奖算法

流程:

1.拼装奖项数组,2.计算概率,3.返回中奖情况

代码如下:中奖概率 ' v ' 可以在后台设置,传到此方法中,注意传整数

function get_gift(){  
       //拼装奖项数组
       // 奖项id,奖品,概率
       $prize_arr = array(  
         '0' => array('id'=>1,'prize'=>'平板电脑','v'=>0),  
         '1' => array('id'=>2,'prize'=>'数码相机','v'=>0),  
         '2' => array('id'=>3,'prize'=>'音箱设备','v'=>0),  
         '3' => array('id'=>4,'prize'=>'4G优盘','v'=>5),  
         '4' => array('id'=>5,'prize'=>'10Q币','v'=>0),  
         '5' => array('id'=>6,'prize'=>'空奖','v'=>5),  
       );  
       foreach ($prize_arr as $key => $val) {  
         $arr[$val['id']] = $val['v'];//概率数组  
       }    
       $rid = $this->get_rand($arr); //根据概率获取奖项id  
       $res['yes'] = $prize_arr[$rid-1]['prize']; //中奖项  
       unset($prize_arr[$rid-1]); //将中奖项从数组中剔除,剩下未中奖项  
       shuffle($prize_arr); //打乱数组顺序  
       for($i=0;$i<count($prize_arr);$i++){  
         $pr[] = $prize_arr[$i]['prize'];  //未中奖项数组
       }  
       $res['no'] = $pr;
       // var_dump($res);
         
       if($res['yes']!='空奖'){  
           $result['status']=1;  
           $result['name']=$res['yes'];  
       }else{  
           $result['status']=-1;  
           $result['msg']=$res['yes'];  
       }  
       //return $result;  
       var_dump($result);
   }  
   //计算中奖概率
   function get_rand($proArr) {  
     $result = '';  
     //概率数组的总概率精度  
     $proSum = array_sum($proArr);  
     // var_dump($proSum);
     //概率数组循环  
     foreach ($proArr as $key => $proCur) {  
       $randNum = mt_rand(1, $proSum);  //返回随机整数
       if ($randNum <= $proCur) {  
         $result = $key;  
         break;  
       } else {  
         $proSum -= $proCur;  
       }  
     }  
     unset ($proArr);  
     return $result;  
   }

效果图:

7dcd50b5ee28bae732ce54898d2bee4.png

以上就是php 怎么实现大转盘功能的详细内容,更多请关注php爱好者其它相关文章!

相关阅读更多 +
最近更新
排行榜 更多 +
元梦之星最新版手游

元梦之星最新版手游

棋牌卡牌 下载
我自为道安卓版

我自为道安卓版

角色扮演 下载
一剑斩仙

一剑斩仙

角色扮演 下载