基于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支持断点续传的源码
May 16 PHP
array_multisort实现PHP多维数组排序示例讲解
Jan 04 PHP
php中计算中文字符串长度、截取中文字符串的函数代码
Aug 09 PHP
php源代码安装常见错误与解决办法分享
May 28 PHP
php读取富文本的时p标签会出现红线是怎么回事
May 13 PHP
thinkphp模板的包含与渲染实例分析
Nov 26 PHP
举例详解PHP脚本的测试方法
Aug 05 PHP
学习php设计模式 php实现模板方法模式
Dec 08 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
Dec 24 PHP
php实现将base64格式图片保存在指定目录的方法
Oct 13 PHP
PHP批量删除jQuery操作
Jul 23 PHP
PHP vsprintf()函数格式化字符串操作原理解析
Jul 14 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
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
PHP中使用php://input处理相同name值的表单数据
2015/02/03 PHP
php函数实现判断是否移动端访问
2015/03/03 PHP
php获取Google机器人访问足迹的方法
2015/04/15 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
2016/09/30 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
2017/08/17 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
2019/01/23 PHP
js 对象是否存在判断
2009/07/15 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
2013/01/09 Javascript
jQuery动画animate方法使用介绍
2013/05/06 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
2013/11/30 Javascript
jQuery实现简单的列表式导航菜单效果代码
2015/08/31 Javascript
跟我学习JScript的Bug与内存管理
2015/11/18 Javascript
用JS动态改变表单form里的action值属性的两种方法
2016/05/25 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
vue给input file绑定函数获取当前上传的对象完美实现方法
2017/12/15 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
微信小程序http连接访问解决方案的示例
2018/11/05 Javascript
vue-iview动态新增和删除的方法
2020/06/17 Javascript
详解JavaScript 事件流
2020/09/02 Javascript
[02:02]DOTA2英雄基础教程 斯拉达
2013/12/11 DOTA
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
用tensorflow实现弹性网络回归算法
2018/01/09 Python
python实现图片识别汽车功能
2018/11/30 Python
解决python ogr shp字段写入中文乱码的问题
2018/12/31 Python
HTML5 图片预加载的示例代码
2020/03/25 HTML / CSS
美国嘻哈文化生活方式品牌:GLD
2018/04/15 全球购物
Godiva巧克力英国官网:比利时歌帝梵巧克力
2018/08/28 全球购物
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
J2EE中的容器都包括哪些
2013/08/21 面试题
投标服务承诺书
2014/05/28 职场文书
个人批评与自我批评范文
2014/10/17 职场文书
培训通知
2015/04/17 职场文书
2015重阳节敬老活动总结
2015/07/29 职场文书
mysql配置SSL证书登录的实现
2021/09/04 MySQL