基于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 相关文章推荐
4.与数据库的连接
Oct 09 PHP
15种PHP Encoder的比较
Mar 06 PHP
php中获得视频时间总长度的另一种方法
Sep 15 PHP
PHP 下载文件时自动添加bom头的方法实例
Jan 10 PHP
php模拟登陆的实现方法分析
Jan 09 PHP
合格的PHP程序员必备技能
Nov 13 PHP
php实现smarty模板无限极分类的方法
Dec 07 PHP
laravel5.4生成验证码的实例讲解
Aug 05 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
May 11 PHP
PHP 二维array转换json的实例讲解
Aug 21 PHP
PHP pthreads v3下worker和pool的使用方法示例
Feb 21 PHP
基于PHP的登录和注册的功能的实现
Aug 06 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
一个odbc连mssql分页的类
2006/10/09 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
2014/07/22 PHP
PHP未登录自动跳转到登录页面
2016/12/21 PHP
理解JavaScript的caller,callee,call,apply
2009/04/28 Javascript
Javascript 中的类和闭包
2010/01/08 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
jquery退出each循环的写法
2014/02/26 Javascript
浅析node连接数据库(express+mysql)
2015/11/30 Javascript
jQuery移动web开发中的页面初始化与加载事件
2015/12/03 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
2016/11/05 Javascript
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
使用百度地图实现地图网格的示例
2018/02/06 Javascript
jQuery插件实现的日历功能示例【附源码下载】
2018/09/07 jQuery
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
如何封装Vue Element的table表格组件
2021/02/06 Vue.js
[07:57]2018DOTA2国际邀请赛寻真——PSG.LGD凤凰浴火
2018/08/12 DOTA
[55:44]完美世界DOTA2联赛决赛 FTD vs Phoenix 第二场 11.08
2020/11/11 DOTA
python循环监控远程端口的方法
2015/03/14 Python
python读写json文件的简单实现
2017/04/11 Python
Python实现分段线性插值
2018/12/17 Python
python opencv 批量改变图片的尺寸大小的方法
2019/06/28 Python
python爬虫使用正则爬取网站的实现
2020/08/03 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
CSMA/CD介质访问控制协议
2015/11/17 面试题
JPA的特点
2014/10/25 面试题
教师自我鉴定
2013/12/13 职场文书
会议接待欢迎词
2014/01/12 职场文书
个人授权委托书范文
2014/09/21 职场文书
村干部四风问题整改措施
2014/09/30 职场文书
店长岗位职责
2015/02/11 职场文书
2015驻村干部工作总结
2015/04/07 职场文书
大学升旗仪式主持词
2015/07/04 职场文书
2015迎新晚会开场白
2015/07/17 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书
创业计划书之水果店
2019/07/18 职场文书
Apache SeaTunnel实现 非CDC数据抽取
2022/05/20 Servers