基于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运行时强制显示出错信息的代码
Apr 20 PHP
PHP内核介绍及扩展开发指南―基础知识
Sep 11 PHP
国外PHP程序员的13个好习惯小结
Feb 20 PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
Aug 09 PHP
PHP实现的连贯操作、链式操作实例
Jul 08 PHP
php递归遍历删除文件的方法
Apr 17 PHP
PHP类的封装与继承详解
Sep 29 PHP
PHP微信开发之查询微信精选文章
Jun 23 PHP
php实现的debug log日志操作类实例
Jul 12 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
Apr 01 PHP
浅析PHP中的闭包和匿名函数
Dec 25 PHP
Laravel框架自定义验证过程实例分析
Feb 01 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
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
没有document.getElementByName方法
2013/08/19 Javascript
JS 屏蔽按键效果与改变按键效果的示例代码
2013/12/24 Javascript
JavaScript使用concat连接数组的方法
2015/04/06 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
angularjs表格ng-table使用备忘录
2016/03/09 Javascript
Vue + Webpack + Vue-loader学习教程之功能介绍篇
2017/03/14 Javascript
微信小程序实战之自定义模态弹窗(8)
2017/04/18 Javascript
vue+iview写个弹框的示例代码
2017/12/05 Javascript
浅谈使用React.setState需要注意的三点
2017/12/18 Javascript
用Node编写RESTful API接口的示例代码
2018/07/04 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
vue实现输入一位数字转汉字功能
2019/12/13 Javascript
react实现复选框全选和反选组件效果
2020/08/25 Javascript
JS实现纸牌发牌动画
2021/01/19 Javascript
python如何在列表、字典中筛选数据
2018/03/19 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
用Python调用win命令行提高工作效率的实例
2019/08/14 Python
一文读懂python Scrapy爬虫框架
2021/02/24 Python
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
波兰在线运动商店:YesSport
2020/07/23 全球购物
EJB实例的生命周期
2016/10/28 面试题
介绍下static、final、abstract区别
2015/01/30 面试题
李开复演讲稿
2014/05/24 职场文书
俄语专业毕业生求职信
2014/07/12 职场文书
机关作风建设自查报告
2014/10/22 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
2015年党员个人工作总结
2015/05/13 职场文书
Go Gin实现文件上传下载的示例代码
2021/04/02 Golang
Python自动化工具之实现Excel转Markdown表格
2022/04/08 Python
Python面试不修改数组找出重复的数字
2022/05/20 Python
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技
Python docx库删除复制paragraph及行高设置图片插入示例
2022/07/23 Python