php 中奖概率算法实现代码

发布时间 - 2026-01-10 22:47:23    点击率:

实现代码:

<?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  # 中奖概率  # 基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法  # php编写的抽奖程序中奖概率算法  # PHP编程实现计算抽奖概率算法完整实例  # php抽奖概率算法(刮刮卡  # 大转盘)  # php实现根据中奖概率抽奖的算法  # 数据库中  # 随机数  # get_zj  # jp  # sum  # gl  # glname  # brush  # class  # pre  # function  # lt  # foreach  # br  # var_dump  # zj  # return  # rand  # gt 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251811 】 【 AI营销90571


相关推荐: node.js报错:Cannot find module &#39;ejs&#39;的解决办法  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  如何实现javascript表单验证_正则表达式有哪些实用技巧  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  如何挑选最适合建站的高性能VPS主机?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  zabbix利用python脚本发送报警邮件的方法  再谈Python中的字符串与字符编码(推荐)  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  JavaScript如何操作视频_媒体API怎么控制播放  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  Python数据仓库与ETL构建实战_Airflow调度流程详解  JavaScript实现Fly Bird小游戏  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  HTML 中如何正确使用模板变量为元素的 name 属性赋值  nodejs redis 发布订阅机制封装实现方法及实例代码  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  Laravel怎么上传文件_Laravel图片上传及存储配置  百度浏览器如何管理插件 百度浏览器插件管理方法  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  如何用5美元大硬盘VPS安全高效搭建个人网站?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  javascript中闭包概念与用法深入理解  制作企业网站建设方案,怎样建设一个公司网站?  如何快速启动建站代理加盟业务?  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  Laravel如何记录自定义日志?(Log频道配置)  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  教你用AI润色文章,让你的文字表达更专业  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  如何用y主机助手快速搭建网站?  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  微信小程序 wx.uploadFile无法上传解决办法  Laravel定时任务怎么设置_Laravel Crontab调度器配置  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  Laravel如何配置任务调度?(Cron Job示例)  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  如何为不同团队 ID 动态生成多个非值班状态按钮  如何快速生成橙子建站落地页链接?