基于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 相关文章推荐
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
Apr 18 PHP
使用PHP socke 向指定页面提交数据
Jul 23 PHP
PHP逐行输出(ob_flush与flush的组合)
Feb 04 PHP
PHP获取数组中重复最多的元素的实现方法
Nov 11 PHP
php文件上传简单实现方法
Jan 24 PHP
10款PHP开源商城系统汇总介绍
Jul 23 PHP
PHP面向对象程序设计之对象生成方法详解
Dec 02 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
Dec 27 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
Aug 04 PHP
PHP date()格式MySQL中插入datetime方法
Jan 29 PHP
php使用fputcsv实现大数据的导出操作详解
Feb 27 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 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
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
使用PHP 5.0创建图形的巧妙方法
2010/10/12 PHP
php获取客户端电脑屏幕参数的方法
2015/01/09 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
2015/10/21 PHP
laravel自定义分页效果
2017/07/23 PHP
php分享朋友圈的实现代码
2019/02/18 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
Yii框架应用组件用法实例分析
2020/05/15 PHP
ArrayList类(增强版)
2007/04/04 Javascript
JS实现div内部的文字或图片自动循环滚动代码
2013/04/19 Javascript
使用jQuery.form.js/springmvc框架实现文件上传功能
2016/05/12 Javascript
深入理解JS addLoadEvent函数
2016/05/20 Javascript
JQuery点击事件回到页面顶部效果的实现代码
2016/05/24 Javascript
javascript将中国数字格式转换成欧式数字格式的简单实例
2016/08/02 Javascript
浅析javascript中的Event事件
2016/12/09 Javascript
解决Vue打包后访问图片/图标不显示的问题
2019/07/25 Javascript
js实现3D照片墙效果
2019/10/28 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
[43:57]Liquid vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python使用正则匹配实现抓图代码分享
2015/04/02 Python
python计算auc指标实例
2017/07/13 Python
在PyCharm下打包*.py程序成.exe的方法
2018/11/29 Python
浅谈python3.x pool.map()方法的实质
2019/01/16 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
pytorch 图像预处理之减去均值,除以方差的实例
2020/01/02 Python
基于selenium及python实现下拉选项定位select
2020/07/22 Python
python接口自动化之ConfigParser配置文件的使用详解
2020/08/03 Python
Python字典dict常用方法函数实例
2020/11/09 Python
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
非功能性需求都包括哪些方面
2013/10/29 面试题
多媒体编辑专业毕业生推荐信
2013/11/05 职场文书
鲜果饮品店创业计划书
2014/01/21 职场文书
金融管理应届生求职信
2014/02/20 职场文书
班组长安全工作职责
2014/07/15 职场文书
污水处理保证书
2015/05/09 职场文书