基于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基础知识:函数基础知识
Dec 13 PHP
php扩展ZF――Validate扩展
Jan 10 PHP
php gzip压缩输出的实现方法
Apr 27 PHP
解析php中session的实现原理以及大网站应用应注意的问题
Jun 17 PHP
解析isset与is_null的区别
Aug 09 PHP
php实现的click captcha点击验证码类实例
Sep 23 PHP
PHP登录验证码的实现与使用方法
Jul 07 PHP
PHP经典算法集锦【经典收藏】
Sep 14 PHP
thinkphp制作404跳转页的简单实现方法
Sep 22 PHP
thinkPHP微信分享接口JSSDK用法实例
Jul 07 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
Mar 12 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如何编写易读的代码
2007/07/10 PHP
深入理解curl类,可用于模拟get,post和curl下载
2013/06/08 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
PHP实现用session来实现记录用户登陆信息
2018/10/15 PHP
CL vs ForZe BO5 第四场 2.13
2021/03/10 DOTA
JavaScript控制Session操作方法
2013/01/17 Javascript
jquery获取颜色在ie和ff下的区别示例介绍
2014/03/28 Javascript
js操作模态窗口及父子窗口间相互传值示例
2014/06/09 Javascript
jQuery中dom元素上绑定的事件详解
2015/04/24 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
关于JS 预解释的相关理解
2016/06/28 Javascript
AngularJS下对数组的对比分析
2016/08/24 Javascript
两种简单的跨域方法(jsonp、php)
2017/01/02 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
2020/08/27 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
2019/06/11 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
2020/07/30 Javascript
[56:17]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
Python 自动化表单提交实例代码
2017/06/08 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
2017/12/15 Python
Python实现感知机(PLA)算法
2017/12/20 Python
Python中logging实例讲解
2019/01/17 Python
python实现将range()函数生成的数字存储在一个列表中
2020/04/02 Python
Python Scrapy图片爬取原理及代码实例
2020/06/12 Python
html5记忆翻牌游戏实现思路及代码
2013/07/25 HTML / CSS
美国滑雪板和装备购物网站:Skis.com
2018/12/20 全球购物
日本必酷网络直营店:Biccamera
2019/03/23 全球购物
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
自荐信怎么写呢?
2013/12/09 职场文书
爸爸的花儿落了教学反思
2014/02/20 职场文书
党员领导干部承诺书
2014/05/28 职场文书
餐厅感恩节活动策划方案
2014/10/11 职场文书
裁员通知
2015/04/25 职场文书
2015财务年终工作总结范文
2015/05/22 职场文书
HTML中的表单Form实现居中效果
2021/05/25 HTML / CSS