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)

相关推荐

  • ArrayList扩容机制

    技术ArrayList扩容机制 ArrayList扩容机制写在前面
    数据结构在面试中基本都是常问的,但是一般开发中基本上都是在使用没有去关心过怎么实现的。
    在数据结构中,链表是一种线性存储结构,也就是常

    礼包 2021年11月25日
  • 没有sa密码无法集成windows身份验证登录的解决方法

    技术没有sa密码无法集成windows身份验证登录的解决方法今天就跟大家聊聊有关没有sa密码无法集成windows身份验证登录的解决方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这

    攻略 2021年12月1日
  • 行业分析-常用的分析模型

    技术行业分析-常用的分析模型 行业分析-常用的分析模型1. 波特五力分析模型
    用于竞争战略的分析,可以有效的分析客户的竞争环境。
    根据波特的观点,一个行业中的竞争,不止是在原有竞争对手中进行,而是存在

    礼包 2021年11月13日
  • c#微信公众号开发中如何实现自定义菜单栏

    技术c#微信公众号开发中如何实现自定义菜单栏小编给大家分享一下c#微信公众号开发中如何实现自定义菜单栏,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一

    攻略 2021年12月1日
  • vs code vue模板如何创建

    技术vs code vue模板如何创建这篇文章主要为大家展示了“vs code vue模板如何创建”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vs code vue模板如何

    攻略 2021年11月24日
  • EOS区块链PHP开发包怎么用

    技术EOS区块链PHP开发包怎么用这篇文章主要为大家展示了“EOS区块链PHP开发包怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“EOS区块链PHP开发包怎么用”这篇文

    攻略 2021年11月25日