基于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数字格式化
Dec 06 PHP
php实现从ftp服务器上下载文件树到本地电脑的程序
Feb 10 PHP
php去掉字符串的最后一个字符附substr()的用法
Mar 23 PHP
PHP中header和session_start前不能有输出原因分析
Jan 11 PHP
关于PHP的相似度计算函数:levenshtein的使用介绍
Apr 15 PHP
php中3种方法删除字符串中间的空格
Mar 10 PHP
PHP数组操作类实例
Jul 11 PHP
WordPress开发中用于标题显示的相关函数使用解析
Jan 07 PHP
PHP 5.6.11中CURL模块问题的解决方法
Aug 08 PHP
PHP获取页面执行时间的方法(推荐)
Dec 10 PHP
php中错误处理操作实例分析
Aug 23 PHP
PHP命令行与定时任务
Apr 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
VOLVO车载收音机
2021/03/02 无线电
Phpbean路由转发的php代码
2008/01/10 PHP
析构函数与php的垃圾回收机制详解
2013/10/28 PHP
PHP远程采集图片详细教程
2014/07/01 PHP
php中in_array函数用法分析
2014/11/15 PHP
php比较两个字符串长度的方法
2015/07/13 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
2019/10/24 PHP
利用jQuery接受和处理xml数据的代码(.net)
2011/03/28 Javascript
二叉树的非递归后序遍历算法实例详解
2014/02/07 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
2014/10/20 Javascript
JavaScript实现数字数组正序排列的方法
2015/04/06 Javascript
基于javascript实现简单计算器功能
2016/01/03 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
2016/08/24 Javascript
Vue响应式添加、修改数组和对象的值
2017/03/20 Javascript
bootstrap是什么_动力节点Java学院整理
2017/07/14 Javascript
vue init失败简单解决方法(终极版)
2017/12/22 Javascript
JS基于for语句编写的九九乘法表示例
2018/01/04 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
JQuery中queue方法用法示例
2019/01/31 jQuery
仿vue-cli搭建属于自己的脚手架的方法步骤
2019/04/17 Javascript
layui form.render('select', 'test2') 更新渲染的方法
2019/09/27 Javascript
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
Python实现全角半角字符互转的方法
2016/11/28 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
2017/11/23 Python
手把手教你如何安装Pycharm(详细图文教程)
2018/11/28 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
Python 使用 prettytable 库打印表格美化输出功能
2019/12/26 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
请说出这段代码执行后a和b的值分别是多少
2015/03/28 面试题
自荐信包含哪些内容
2013/10/30 职场文书
国家励志奖学金获奖感言
2014/01/09 职场文书
教师党员公开承诺书
2014/03/25 职场文书
超市优秀员工事迹材料
2014/05/01 职场文书
关于青春的演讲稿
2014/05/05 职场文书
护士实习自荐信
2015/03/06 职场文书
Win11 KB5015814遇安装失败 影响开始菜单性能解决方法
2022/07/15 数码科技