基于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 相关文章推荐
PHP分页显示制作详细讲解
Oct 09 PHP
《PHP边学边教》(01.开篇――准备工作)
Dec 13 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
Jun 18 PHP
php模仿asp Application对象在线人数统计实现方法
Jan 04 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
Jan 22 PHP
php导入模块文件分享
Mar 17 PHP
Yii框架表单模型和验证用法
May 20 PHP
PHP中使用foreach()遍历二维数组的简单实例
Jun 13 PHP
详解PHP如何更好的利用PHPstorm的自动提示
Aug 18 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
Dec 06 PHP
在laravel框架中实现封装公共方法全局调用
Oct 14 PHP
php pdo连接数据库操作示例
Nov 18 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
PHP关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
php编程每天必学之验证码
2016/03/03 PHP
php获取POST数据的三种方法实例详解
2016/12/20 PHP
php 解决扫描二维码下载跳转问题
2017/01/13 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
js 获取浏览器高度和宽度值(多浏览器)
2009/09/02 Javascript
js切换div css注意的细节
2012/12/10 Javascript
终于解决了IE8不支持数组的indexOf方法
2013/04/03 Javascript
JQuery for与each性能比较分析
2013/05/14 Javascript
js将json格式内容转换成对象的方法
2013/11/01 Javascript
JS获取浏览器语言动态加载JS文件示例代码
2014/10/31 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
JavaScript检测原始值、引用值、属性
2016/06/20 Javascript
使用jQuery加载html页面到指定的div实现方法
2016/07/13 Javascript
jQuery.uploadify文件上传组件实例讲解
2016/09/23 Javascript
js 颜色选择插件
2017/01/23 Javascript
使用travis-ci如何持续部署node.js应用详解
2017/07/30 Javascript
JS一个简单的注册页面实例
2017/09/05 Javascript
详解React Native开源时间日期选择器组件(react-native-datetime)
2017/09/13 Javascript
javascript用rem来做响应式开发
2018/01/13 Javascript
基于vue.js无缝滚动效果
2018/01/25 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
2018/06/22 Javascript
Element-ui之ElScrollBar组件滚动条的使用方法
2018/09/14 Javascript
python Matplotlib画图之调整字体大小的示例
2017/11/20 Python
Python线程之定位与销毁的实现
2019/02/17 Python
Python切片操作去除字符串首尾的空格
2019/04/22 Python
OpenCV 轮廓检测的实现方法
2019/07/03 Python
Java ExcutorService优雅关闭方式解析
2020/05/30 Python
如何利用python发送邮件
2020/09/26 Python
澳大利亚连衣裙和女装在线:Esther
2017/11/11 全球购物
美国在线购买空气净化器、除湿器、加湿器网站:AllergyBuyersClub
2021/03/16 全球购物
程序员跳槽必看面试题总结
2013/06/28 面试题
应聘自荐书
2013/10/08 职场文书
2014最新毕业证代领委托书
2014/09/26 职场文书
Canvas三种动态画圆实现方法说明(小结)
2021/04/16 Javascript
Mysql基础知识点汇总
2021/05/26 MySQL