php 中奖概率算法实现代码


Posted in PHP onJanuary 25, 2017

实现代码:

<?php
/**
 *php 中奖概率算法
 *
 */
function get_zj( $jp ,$glname = 'gl'){
	$sum = 0;
	foreach($jp as $k =>$v ){
		$sum += $v[$glname];
	}
 
	$R = rand(1,$sum);//获取随机数
 
	foreach( $jp as $k => $v){
		if( $R <= $v[$glname] ){
			return $v;
		}
		$R = $R - $v[$glname] ;
	}
 
}
 
 
//使用方法
//模拟一个从数据库中读取的 中奖配置  gl 为 中奖的概率 
//例如array( 'gl' => 10 , 'title' => '一等奖');的中奖概率 = 10 / (10+20+30+40)
$jp = array();
$jp[] = array( 'gl' => 10 , 'title' => '一等奖');
$jp[] = array( 'gl' => 20 , 'title' => '二等奖');
$jp[] = array( 'gl' => 30 , 'title' => '三等奖');
$jp[] = array( 'gl' => 40 , 'title' => '未中奖');
 
 
//调用 中奖概率函数 
//返回中奖 信息数组 例如:array( 'gl' => 10 , 'title' => '一等奖');
$zj = get_zj( $jp );
 
//输出数组
var_dump($zj);

使用方法
模拟一个从数据库中读取的 中奖配置 gl 为 中奖的概率
例如array( 'gl' => 10 , 'title' => '一等奖');的中奖概率 = 10 / (10+20+30+40)
$jp = array();
$jp[] = array( 'gl' => 10 , 'title' => '一等奖');
$jp[] = array( 'gl' => 20 , 'title' => '二等奖');
$jp[] = array( 'gl' => 30 , 'title' => '三等奖');
$jp[] = array( 'gl' => 40 , 'title' => '未中奖');

调用 中奖概率函数
返回中奖 信息数组 例如:array( 'gl' => 10 , 'title' => '一等奖');

PHP 相关文章推荐
别人整理的服务器变量:$_SERVER
Oct 20 PHP
php开发工具之vs2005图解
Jan 12 PHP
简化php模板页面中分页代码的解析
Feb 06 PHP
PHP中time(),date(),mktime()区别介绍
Sep 28 PHP
PHP批量生成静态HTML的简单原理和方法
Apr 20 PHP
简单实用的网站PHP缓存类实例
Jul 18 PHP
PHP curl 抓取AJAX异步内容示例
Sep 09 PHP
php中$_POST与php://input的区别实例分析
Jan 07 PHP
PHP中substr_count()函数获取子字符串出现次数的方法
Jan 07 PHP
yii2使用gridView实现下拉列表筛选数据
Apr 10 PHP
laravel中短信发送验证码的实现方法
Apr 25 PHP
浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法
Oct 12 PHP
PHP封装函数实现生成随机的字符串验证码
Jan 24 #PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
Jan 24 #PHP
PHP 配置后台登录以及模板引入
Jan 24 #PHP
PHP实现登陆表单提交CSRF及验证码
Jan 24 #PHP
php获取访问者浏览页面的浏览器类型
Jan 23 #PHP
php字符集转换
Jan 23 #PHP
Yii全局函数用法示例
Jan 22 #PHP
You might like
php计算两个整数的最大公约数常用算法小结
2015/03/05 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
2018/05/02 PHP
js模拟点击事件实现代码
2012/11/06 Javascript
JQuery的Ajax跨域请求原理概述及实例
2013/04/26 Javascript
ExtJS判断IE浏览器类型的方法
2014/02/10 Javascript
jquery使用ajax实现微信自动回复插件
2014/04/28 Javascript
Firefox下无法正常显示年份的解决方法
2014/09/04 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
原生js验证简洁注册登录页面
2016/12/17 Javascript
ie下js不执行的几种可能
2017/02/28 Javascript
jQuery导航条固定定位效果实例代码
2017/05/26 jQuery
React复制到剪贴板的示例代码
2017/08/22 Javascript
详解让sublime text3支持Vue语法高亮显示的示例
2017/09/29 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
解析Vue2 dist 目录下各个文件的区别
2017/11/22 Javascript
vue+axios新手实践实现登陆的示例代码
2018/06/06 Javascript
[45:16]完美世界DOTA2联赛循环赛 IO vs FTD BO2第二场 11.05
2020/11/06 DOTA
Python 初始化多维数组代码
2008/09/06 Python
python实现linux服务器批量修改密码并生成execl
2014/04/22 Python
用Python实现web端用户登录和注册功能的教程
2015/04/30 Python
Python利用pandas计算多个CSV文件数据值的实例
2018/04/19 Python
Python中应该使用%还是format来格式化字符串
2018/09/25 Python
PyQt编程之如何在屏幕中央显示窗体的实例
2019/06/18 Python
关于numpy.where()函数 返回值的解释
2019/12/06 Python
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
Staples英国官方网站:办公用品一站式采购
2017/10/06 全球购物
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
网络公司美工设计工作个人的自我评价
2013/11/03 职场文书
学习党课思想汇报
2013/12/29 职场文书
乡镇干部先进事迹材料
2014/02/03 职场文书
秋季运动会活动方案
2014/02/05 职场文书
优秀大学生自荐信
2014/06/09 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
2015年度优秀员工自荐书
2015/03/06 职场文书
优秀党员主要事迹材料
2015/11/04 职场文书
《最终幻想14》6.01版本4月5日推出 追加新任务新道具
2022/04/03 其他游戏