php 怎么实现大转盘功能
时间:2021-11-29
来源:互联网
标签:
今天PHP爱好者为您带来php实现大转盘功能的方法:1、拼装奖项数组,代码如“$prize_arr = array(...)”;2、计算中奖概率;3、返回中奖情况即可。希望对大家有所帮助。

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑
php 怎么实现大转盘功能?
PHP实现大转盘抽奖算法
流程:
1.拼装奖项数组,2.计算概率,3.返回中奖情况
代码如下:中奖概率 ' v ' 可以在后台设置,传到此方法中,注意传整数
function get_gift(){
//拼装奖项数组
// 奖项id,奖品,概率
$prize_arr = array(
'0' => array('id'=>1,'prize'=>'平板电脑','v'=>0),
'1' => array('id'=>2,'prize'=>'数码相机','v'=>0),
'2' => array('id'=>3,'prize'=>'音箱设备','v'=>0),
'3' => array('id'=>4,'prize'=>'4G优盘','v'=>5),
'4' => array('id'=>5,'prize'=>'10Q币','v'=>0),
'5' => array('id'=>6,'prize'=>'空奖','v'=>5),
);
foreach ($prize_arr as $key => $val) {
$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爱好者其它相关文章!
-
USB Host接口有什么用?USB Host和USB Device接口的区别 时间:2025-12-16 -
HDMI怎么区分1.4和2.0?HDMI1.4和2.0的区别 时间:2025-12-16 -
com.android.phone已停止运行是什么意思?怎么解决? 时间:2025-12-16 -
4mp摄像头是多少像素?4mp和1080p有什么区别? 时间:2025-12-16 -
电脑出现normal.dotm错误怎么办?解决方法是什么? 时间:2025-12-15 -
normal.dotm在哪个文件夹里 如何删除normal模板 时间:2025-12-15
今日更新
-
欧易APP缓存清理指南:简单3步释放手机空间
阅读:18
-
想知道佩奇梗是什么梗吗?揭秘小猪佩奇爆火网络背后的趣味含义!
阅读:18
-
俄罗斯引擎yandex中文搜索直达入口-俄罗斯引擎yandex简体中文版快捷入口
阅读:18
-
微信文件传输助手网页版入口在哪 具体使用方法详解
阅读:18
-
暴雪战网安装失败提示无法验证数字签名?教你解决
阅读:18
-
修修漫画在线看-漫画入口页面更新!修修漫画网页版-在线观看高清入口
阅读:18
-
佩奇是什么梗揭秘这只网红小猪的爆火原因和背后故事
阅读:18
-
欧易平台服务器维护时间多久 常见问题与解决方案
阅读:18
-
epic官网地址是什么-epic账号注册+官网登录入口一键获取
阅读:18
-
歪歪漫画首页登陆入口-歪歪漫画官网登录页面
阅读:18










