基于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 相关文章推荐
最省空间的计数器
Oct 09 PHP
zend api扩展的php对象的autoload工具
Apr 18 PHP
PHP中的session永不过期的解决思路及实现方法分享
Apr 20 PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
Jun 24 PHP
php实现下载限制速度示例分享
Feb 13 PHP
php一维二维数组键排序方法实例总结
Nov 13 PHP
PHP中基本HTTP认证技巧分析
Mar 16 PHP
php中smarty实现多模版网站的方法
Jun 11 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
Dec 25 PHP
微信自定义菜单的创建/查询/取消php示例代码
Aug 05 PHP
PHP数据对象PDO操作技巧小结
Sep 27 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
Aug 17 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
PHP封装CURL扩展类实例
2015/07/28 PHP
php 浮点数比较方法详解
2017/05/05 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
PHP哈希表实现算法原理解析
2020/12/11 PHP
List Installed Hot Fixes
2007/06/12 Javascript
关于Mozilla浏览器不支持innerText的解决办法
2011/01/01 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
浏览器解析js生成的html出现样式问题的解决方法
2012/04/16 Javascript
javascript 闭包详解
2015/02/15 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
2016/04/06 Javascript
前端设计师们最常用的JS代码汇总
2016/09/25 Javascript
10个在JavaScript开发中常遇到的BUG
2017/12/18 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
解决Vue.js父组件$on无法监听子组件$emit触发事件的问题
2018/09/12 Javascript
js中对象和面向对象与Json介绍
2019/01/21 Javascript
JS实现倒序输出的几种常用方法示例
2019/04/13 Javascript
Vue 自定义标签的src属性不能使用相对路径的解决
2019/09/17 Javascript
Python制作数据导入导出工具
2015/07/31 Python
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
python微信跳一跳系列之棋子定位颜色识别
2018/02/26 Python
Python  word实现读取及导出代码解析
2020/07/09 Python
浅析Python 抽象工厂模式的优缺点
2020/07/13 Python
安装不同版本的tensorflow与models方法实现
2021/02/20 Python
使用css3制作动感导航条示例
2014/01/26 HTML / CSS
英国床垫在线:Mattress Online
2016/12/07 全球购物
Blancsom美国/加拿大:服装和生活用品供应商
2018/07/27 全球购物
介绍一下代理模式(Proxy)
2014/10/17 面试题
海飞丝广告词
2014/03/20 职场文书
贷款委托书范本
2014/04/08 职场文书
幼儿园清明节活动总结
2014/07/04 职场文书
2015年上半年党建工作总结
2015/03/30 职场文书
帝企鹅日记观后感
2015/06/10 职场文书
承兑汇票延期证明
2015/06/23 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python