php如何实现大转盘功能

技术php如何实现大转盘功能本篇内容介绍了“php如何实现大转盘功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

本文介绍了“php如何实现大转盘功能”的知识。很多人在实际案件操作中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

php大转盘功能的实现方法:1。组装奖励数组,如“$ prize _ arr=array(.)";2.计算获胜概率;3.把胜利的形势还给我。

php如何实现大转盘功能

本文的操作环境:windows7系统,PHP7.1,DELL G3计算机

php 怎么实现大转盘功能?

大转盘PHP抽奖算法的实现

流程:

1.组装奖品阵列,2。计算概率,3。归还胜利的局面。

代码如下:中奖概率‘v’可以在后台设置,要传递给这个方法,注意传递整数。

function get _ gift(){ 0

//组装奖励阵列

//奖品id、奖品、概率

$prize_arr=array(

' 0 '=数组(' id'=1,'奖品'='平板',' v'=0),

1 '=数组(' id'=2,'奖品'='数码相机',' v'=0),

2 '=数组(' id'=3,'奖品'='扬声器设备',' v'=0),

3 '=数组(' id'=4,'奖品'=' 4G盘',' v'=5),

4 '=数组(' id'=5,'奖品'='10Q硬币',' v'=0),

5 '=数组(' id'=6,'奖品'='空奖品',' v'=5),

);

foreach($ price _ arras $ key=$ val){ 0

$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;   
    }

效果图:

php如何实现大转盘功能

“php如何实现大转盘功能”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/95840.html

(0)

相关推荐

  • 怎样可以,和平精英怎么才能变厉害

    技术怎样可以,和平精英怎么才能变厉害大家好怎样可以!这里是爱分享的零助攻!很高兴回答您的问题!和平精英怎么样变厉害?可以说需要具备的条件太多了。第一:能力问题能力又分先天和后天,有的人天生就是玩游戏的好手,接受能力和适应

    生活 2021年10月21日
  • zookeeper主要有什么模式和什么模式(zookeeper的功能有哪些)

    技术ZOOKEEPER操作流程是怎样的这篇文章给大家介绍ZOOKEEPER操作流程是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。  1、解压  2、配置环境变量  3、修改conf/zoo_

    攻略 2021年12月24日
  • gcc与arm-linux-gcc和arm-elf-gcc的关系是什么

    技术gcc与arm-linux-gcc和arm-elf-gcc的关系是什么gcc与arm-linux-gcc和arm-elf-gcc的关系是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解

    攻略 2021年10月22日
  • Java 线程池中的线程复用是如何实现的

    技术Java 线程池中的线程复用是如何实现的Java 线程池中的线程复用是如何实现的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前几天,技术群里有个群

    2021年11月15日
  • C++ socket网络编程方法是什么

    技术C++ socket网络编程方法是什么本篇内容主要讲解“C++ socket网络编程方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++ socket网络编程方

    攻略 2021年11月19日
  • who后面的动词用什么形式,WHO的宾格形式用在什么地方?

    技术who后面的动词用什么形式,WHO的宾格形式用在什么地方?WHOM只能做宾语,不能做主语who后面的动词用什么形式。 例子:1,who are you? 不能是whom are you? 2,This book b

    生活 2021年10月26日