基于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 相关文章推荐
Ajax PHP分页演示
Jan 02 PHP
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
Jul 01 PHP
PHP获取本周第一天和最后一天示例代码
Feb 24 PHP
PHP定时更新程序设计思路分享
Jun 10 PHP
php定界符
Jun 19 PHP
PHP数组操作――获取数组最后一个值的方法
Apr 14 PHP
JavaScript实现滚动栏效果的方法
Apr 27 PHP
php操作memcache缓存方法分享
Jun 03 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
Jun 09 PHP
PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
Dec 25 PHP
php精度计算的问题解析
Jun 21 PHP
PHP实现文件上传后台处理脚本
Mar 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
虫族 Zerg 魔法科技
2020/03/14 星际争霸
php中使用explode查找某个字符是否存在的方法
2011/07/12 PHP
xml在joomla表单中的应用详解分享
2012/07/19 PHP
cakephp打印sql语句的方法
2015/02/13 PHP
PHP+Mysql+jQuery中国地图区域数据统计实例讲解
2015/10/10 PHP
php 使用fopen函数创建、打开文件详解及实例代码
2016/09/24 PHP
js left,right,mid函数
2008/06/10 Javascript
javascript 继承实现方法
2009/08/26 Javascript
2010年最佳jQuery插件整理
2010/12/06 Javascript
解决JQeury显示内容没有边距内容紧挨着浏览器边线
2013/12/20 Javascript
Nodejs Post请求报socket hang up错误的解决办法
2014/09/25 NodeJs
JavaScript淡入淡出渐变简单实例
2015/08/06 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
2015/11/25 Javascript
node.js部署之启动后台运行forever的方法
2018/05/23 Javascript
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
JQuery中queue方法用法示例
2019/01/31 jQuery
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
Vue数据双向绑定底层实现原理
2019/11/22 Javascript
javascript设计模式 ? 职责链模式原理与用法实例分析
2020/04/16 Javascript
python正则表达式去掉数字中的逗号(python正则匹配逗号)
2013/12/25 Python
python在指定目录下查找gif文件的方法
2015/05/04 Python
Python语言的面相对象编程方式初步学习
2016/03/12 Python
python实现读取excel写入mysql的小工具详解
2017/11/20 Python
Python排序搜索基本算法之堆排序实例详解
2017/12/08 Python
Python交互环境下实现输入代码
2018/06/22 Python
Golang GBK转UTF-8的例子
2019/08/26 Python
Python抖音快手代码舞(字符舞)的实现方法
2021/02/07 Python
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
护士毕业自我鉴定
2014/02/07 职场文书
主题婚礼策划方案
2014/02/10 职场文书
高中学生期末评语
2014/04/25 职场文书
西安导游词
2015/02/12 职场文书
离婚起诉状范本
2015/05/19 职场文书
win10下go mod配置方式
2021/04/25 Golang
Python包管理工具pip的15 个使用小技巧
2021/05/17 Python
ObjectMapper 如何忽略字段大小写
2021/06/29 Java/Android