使用PHP怎么编写一个转盘抽奖算法

  介绍

使用PHP怎么编写一个转盘抽奖算法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<>强流程:

1。拼装奖项数组

2。计算概率

3。返回中奖情况

代码如下:

中奖概率& # 39;v & # 39;可以在后台设置,传到此方法中,<强>注意传整数

function  get_gift () {,//拼才能装奖项数组,//才能,奖项id,奖品,概率   时间=美元才能prize_arr 阵列(,   ,才能& # 39;0 & # 39;,=祝辞,数组(& # 39;id # 39;=祝辞1 & # 39;奖# 39;=祝辞& # 39;平板电脑& # 39;,& # 39;v # 39;=祝辞0),,   ,,& # 39;1 & # 39;,=祝辞,数组(& # 39;id # 39;=祝辞;2,& # 39;奖# 39;=祝辞& # 39;数码相机& # 39;,& # 39;v # 39;=祝辞0),,   ,才能& # 39;2 & # 39;,=祝辞,数组(& # 39;id # 39;=祝辞;3,& # 39;奖# 39;=祝辞& # 39;音箱设备& # 39;,& # 39;v # 39;=祝辞0),,   ,才能& # 39;3 & # 39;,=祝辞,数组(& # 39;id # 39;=祝辞;4,& # 39;奖# 39;=祝辞& # 39;4 g优盘& # 39;,& # 39;v # 39;=祝辞;5),,   ,才能& # 39;4 & # 39;,=祝辞,数组(& # 39;id # 39;=在5日& # 39;奖# 39;=祝辞& # 39;10 q币& # 39;,& # 39;v # 39;=祝辞0),,   ,,& # 39;5 & # 39;,=祝辞,数组(& # 39;id # 39;=在6日& # 39;奖# 39;=祝辞& # 39;空奖& # 39;,& # 39;v # 39;=祝辞;5),,   ,,);   foreach 才能;(prize_arr 美元;as  key 美元;=祝辞,val美元),{,   ,,arr美元(美元val [& # 39; id # 39;]],=, val美元[& # 39;v # 39;];//概率数组,   ,,},=美元才能rid  $ this→get_rand (arr);,//根据概率获取奖项id    美元才能res(& # 39;是的# 39;],=,prize_arr美元($ rid-1][& # 39;奖# 39;];,//中奖项,   设置才能($ prize_arr [$ rid-1]);,//将中奖项从数组中剔除,剩下未中奖项,   洗牌才能($ prize_arr);,//打乱数组顺序,   ,,(i=0; i<美元;count ($ prize_arr);美元我+ +){,   ,,公关[],美元=,prize_arr美元[$ i][& # 39;奖# 39;];,//未中奖项数组,   ,,},   美元才能res(& # 39;没有# 39;],=,公关;美元,//才能,var_dump (res);      ,,   如果才能(res美元[& # 39;是的# 39;]!=& # 39;空奖& # 39;){,   美元,,结果[& # 39;状态# 39;]=1;,   美元,,结果[& # 39;名字# 39;]=$ res(& # 39;是的,),,   其他,}{大敌;   美元,,结果[& # 39;状态# 39;]=1;,   美元,,结果[& # 39;味精# 39;]=$ res(& # 39;是的,),,   ,,},//才能return 结果;美元,   var_dump()美元才能;   }大敌;      ,//计算中奖概率   ,function  get_rand (proArr美元),{,   时间=美元才能result  & # 39; & # 39;,,//才能概率数组的总概率精度,   时间=美元才能proSum 函数($ proArr);,//才能,var_dump ($ proSum);//才能概率数组循环,   foreach 才能;(proArr 美元;as  key 美元;=祝辞,proCur美元),{,   时间=美元才能randNum  mt_rand (1, proSum美元);,//返回随机整数,      if 才能;(randNum 美元;& lt;=, proCur美元),{,   ,才能result 美元;=,关键;美元,   ,,,休息;   ,,},else  {,   ,,proSum 美元;-=,proCur美元;,   ,,},   ,,},   unset 才能;(proArr美元),,   return 才能;结果;美元,   以前,}

效果图:

使用PHP怎么编写一个转盘抽奖算法”> <img src=

使用PHP怎么编写一个转盘抽奖算法