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)

相关推荐

  • spark structstream 性能(sparkudf使用缓存数据吗)

    技术Spark UDF变长参数的方法是什么这篇文章主要介绍“Spark UDF变长参数的方法是什么”,在日常操作中,相信很多人在Spark UDF变长参数的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操

    攻略 2021年12月14日
  • html盒子模型由什么组成(html盒子模型具有哪些内容)

    技术html的盒子模型有哪些本篇内容主要讲解“html的盒子模型有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html的盒子模型有哪些”吧!

    攻略 2021年12月23日
  • mysql如何进行索引修改

    技术mysql如何进行索引修改这篇文章主要介绍“mysql如何进行索引修改”,在日常操作中,相信很多人在mysql如何进行索引修改问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql如

    攻略 2021年12月2日
  • Mysql中optimize、Analyze、check维护操作是什么

    技术Mysql中optimize、Analyze、check维护操作是什么本篇内容介绍了“Mysql中optimize、Analyze、check维护操作是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困

    攻略 2021年11月15日
  • 官场小说,好看的官场小说全本给推荐一下

    技术官场小说,好看的官场小说全本给推荐一下《人民的名义》作者:周梅森,一位国家部委的项目处长被人举报受贿千万,当最高人民检察院反贪总局侦查处处长侯亮平前来搜查时,看到的却是一位长相憨厚官场小说、衣着朴素的“老农民”在简陋

    生活 2021年10月20日
  • 怎么管理mysql二进制日志

    技术怎么管理mysql二进制日志本篇内容主要讲解“怎么管理mysql二进制日志”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么管理mysql二进制日志”吧!

    攻略 2021年11月18日