基于PHP实现简单的随机抽奖小程序


Posted in PHP onJanuary 05, 2016

一个抽奖小程序,概论可控,也可某个奖品在前端显示,而程序中根本不可能获得!把所有的概率x10后相加起来,新数组中每项的值等于它前几个的和加上它本身。

然后随即生成一个0到最大数之间的一个数,通过循环查看它属于那个区间,返回该区间的key。

代码如下

$prize = array(
1 => 3.5, //3.5%机率
2 => 2.5, 
3 => 6, 
4 => 2, 
5 => 42, //42%机率
6 => 36, 
7 => 2, 
8 => 4, 
9 => 2
);
//最后确认相加等于100
$prizeList = array(
1 => array('小仙子'), 
2 => array('5Q币'), 
3 => array('38888游戏币'), 
4 => array('88888游戏币'), 
5 => array('谢谢参与!'), 
6 => array('欢迎下次再来!'), 
7 => array('10Q币'), 
8 => array('888银元宝(绑定)'), 
9 => array('随机高级坐骑(绑定)')
);
//unset($prize[7]); 直接把10Q这个奖品去掉
$times = 10;
$max = 0;
foreach ($prize as $k => $v)
{
$max = $v * $times + $max;
$row['v'] = $max;
$row['k'] = $k;
$prizeZone[] = $row;
}
$max--; //临界值
$rand = mt_rand(0, $max);
$zone = 1;
foreach ($prizeZone as $k => $v)
{
if ($rand >= $v['v'])
{
if ($rand >= $prizeZone[$k + 1]['v'])
{
continue;
}
else
{
$zone = $prizeZone[$k + 1]['k'];
break;
}
}
$zone = $v['k'];
break;
}
print_r($prizeList[$zone][0]);

基于php实现简单的抽奖小程序代码就给大家写这么多,不过都是核心代码,希望对大家学习工作有所帮助。

PHP 相关文章推荐
其他功能
Oct 09 PHP
php反弹shell实现代码
Apr 22 PHP
php的ajax框架xajax入门与试用介绍
Dec 19 PHP
php4与php5的区别小结(配置异同)
Dec 20 PHP
排序算法之PHP版快速排序、冒泡排序
Apr 09 PHP
php中Y2K38的漏洞解决方法实例分析
Sep 22 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
Dec 22 PHP
THINKPHP内容分页代码分享
Jan 14 PHP
微信公众平台实现获取用户OpenID的方法
Apr 15 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
Jun 28 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
Sep 26 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
Dec 13 PHP
详解WordPress开发中的get_post与get_posts函数使用
Jan 04 #PHP
使用PHP实现微信摇一摇周边红包
Jan 04 #PHP
解析WordPress中的post_class与get_post_class函数
Jan 04 #PHP
WordPress开发中的get_post_custom()函数使用解析
Jan 04 #PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
Jan 04 #PHP
详解WordPress中分类函数wp_list_categories的使用
Jan 04 #PHP
大家须知简单的php性能优化注意点
Jan 04 #PHP
You might like
Thinkphp中数据按分类嵌套循环实现方法
2014/10/30 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
php 中奖概率算法实现代码
2017/01/25 PHP
php微信公众号开发之音乐信息
2018/10/20 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
2019/08/23 PHP
Laravel 5+ .env环境配置文件详解
2020/04/06 PHP
javascript 进阶篇2 CSS XML学习
2012/03/14 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
js中对函数设置默认参数值的3种方法
2015/10/23 Javascript
JS实现网页上随机产生超链接地址的方法
2015/11/09 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
2016/06/24 Javascript
微信小程序 聊天室简单实现
2017/04/19 Javascript
如何安装控制器JavaScript生成插件详解
2018/10/21 Javascript
浅谈发布订阅模式与观察者模式
2019/04/09 Javascript
微信小程序API—获取定位的详解
2019/04/30 Javascript
Vue-Cli项目优化操作的实现
2019/10/27 Javascript
js模拟实现烟花特效
2020/03/10 Javascript
通过高德地图API获得某条道路上的所有坐标用于描绘道路的方法
2020/08/24 Javascript
[03:23]我的刀塔你不可能这么可爱 第一期金萌萌的故事
2014/06/20 DOTA
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
Python正则表达式教程之一:基础篇
2017/03/02 Python
Python中is与==判断的区别
2017/03/28 Python
详解flask表单提交的两种方式
2018/07/21 Python
详解python的sorted函数对字典按key排序和按value排序
2018/08/10 Python
python学生管理系统
2019/01/30 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
kafka监控获取指定topic的消息总量示例
2019/12/23 Python
python中类与对象之间的关系详解
2020/12/16 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
2021/01/09 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
CSS3中伪元素::before和::after的用法示例
2017/09/18 HTML / CSS
详解快速开发基于 HTML5 网络拓扑图应用
2018/01/08 HTML / CSS
Ellos丹麦:时尚和服装在线
2016/09/19 全球购物
优秀员工获奖感言
2014/03/01 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
mysql查看表结构的三种方法总结
2022/07/07 MySQL