php 抽奖算法,php转盘抽奖源码

php 抽奖算法,php转盘抽奖源码,php抽奖概率算法(刮刮卡,大转盘)

本文主要详细介绍php的中奖概率算法,可用于刮刮卡、大转盘等彩票算法。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。

本文分享php中奖概率算法,可用于刮刮卡、大转盘等彩票算法。用法很简单,代码里有详细的注释供你参考。具体内容如下

?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

/*

*经典概率算法,

* $proArr是预设数组,

*假设数组为:array(100,200,300),

*开头是筛选第一个数字是否在11000的概率范围内,

*如果不是,从刚才那个数的概率空间中减去概率空间,也就是k的值,

*在本例中,它是负100,这意味着在1,900的范围内过滤第二个数字。

*这样,最后总会有一个符合要求的数字。

*相当于摸盒子里的东西,

*第一个不是,第二个不是,第三个还不是,那么最后一个一定是。

*该算法简单且非常高效,

*该算法在数据量大的项目中非常高效。

*/

函数get_rand($proArr) {

$ result=“”;

//概率数组的总概率精度

$ proSum=array _ sum($ proArr);

//概率数组循环

foreach($ proArr as $ key=$ proCur){

$randNum=mt_rand(1,$ proSum);

if ($randNum=$proCur) {

$ result=$ key

打破;

}否则{

$ proSum-=$ proCur;

}

}

unset($ proArr);

返回$ result

}

/*

*奖励阵列

*是一个二维数组,记录了本次彩票的所有中奖信息,

*其中id代表中奖等级,prize代表奖金,V代表中奖概率。

*注意,v必须是整数。你可以把对应奖品的v设置为0,也就是说中奖几率为0。

*数组中V的和(基数)。基数越大,概率就越精确。

*本例中,V之和为100,那么平板电脑对应的中奖概率为1%。

*如果V的和是一万,中奖概率是万分之一。

*

*/

$prize_arr=array(

0'=array('id'=1,' prize'=' tablet ',' v'=1),

1'=数组(' id'=2,' prize'='数码相机',' v'=5),

2'=数组(' id'=3,' prize'='扬声器设备',' v'=10),

3'=array('id'=4,' prize '=' 4G盘',' v'=12),

4'=数组(' id'=5,' prize'='10Q币',' v'=22),

5'=array('id'=6,' prize'='也许下次你能赢',' v'=50),

);

/*

*每次首页请求,PHP循环奖励设置数组,

*获取概率计算函数get_rand抽取的奖品id。

*将获胜的奖品保存在数组$res中['yes'],

*其余关于获胜的信息保存在$res['no']中,

*最后,将json号数据输出到前端页面。

*/

foreach($ prize _ arr as $ key=$ val){

$ arr[$ val[' id ']]=$ val[' v '];

}

$ rid=get _ rand($ arr);//根据概率获取获奖id

$ RES[' yes ']=$ prize _ arr[$ rid-1][' prize '];//中奖

unset($ prize _ arr[$ rid-1]);//从数组中移除中奖,留下中奖。

shuffle($ prize _ arr);//打乱数组顺序

for($ I=0;$ icount($ prize _ arr);$i ){

$ pr[]=$ prize _ arr[$ I][' prize '];

}

$ RES[' no ']=$ pr;

print _ r($ RES);

详细了解彩票功能的实现,请参考本主题:彩票功能。

以上是php彩票概率算法的全部内容。希望对你学习php编程有帮助,也希望你多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 七种php开发环境搭建工具有哪些,七种php开发环境搭建工具包括
  • 七种php开发环境搭建工具有哪些,七种php开发环境搭建工具包括,七种PHP开发环境搭建工具
  • php高并发三种解决方法,php 高并发解决方案
  • php高并发三种解决方法,php 高并发解决方案,PHP解决高并发问题(opcache)
  • php邮件发送的两种方式区别,php邮件发送的两种方式是什么
  • php邮件发送的两种方式区别,php邮件发送的两种方式是什么,php邮件发送的两种方式
  • php跳转页面的几种实现方法详解图,php跳转页面的几种实现方法详解视频
  • php跳转页面的几种实现方法详解图,php跳转页面的几种实现方法详解视频,PHP跳转页面的几种实现方法详解
  • PHP购物车,php立即购买和购物车功能
  • PHP购物车,php立即购买和购物车功能,php实现购物车功能(上)
  • php读取pdf数据,php pdf读取
  • php读取pdf数据,php pdf读取,PHP中使用mpdf 导出PDF文件的实现方法
  • php网站判断用户是否是手机访问的方法有哪些,php如何判断用户是否登录
  • 留言与评论(共有 条评论)
       
    验证码: