您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php中奖算法详解

2025/11/17 18:20:44发布29次查看
本文主要为大家带来一篇php简单中奖算法(实例)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。
今天遇到这样的一个问题  封装一个 抽奖概率函数 思前想后去网上找点资料吧,而且不止一种方法 这种我感觉还是比较容易的 还是那句话 实现功能的思路不止一种 代码也不止一种。
function get_rand($proarr) { $result = ''; //概率数组的总概率精度 $prosum = array_sum($proarr); //概率数组循环 foreach ($proarr as $key => $procur) { $randnum = mt_rand(1, $prosum); if ($randnum <= $procur) { $result = $key; break; } else { $prosum -= $procur; } } unset ($proarr); return $result; } $prize_arr = array( '0' => array('id'=>1,'prize'=>'平板电脑','v'=>0.1), '1' => array('id'=>2,'prize'=>'数码相机','v'=>5), '2' => array('id'=>3,'prize'=>'音箱设备','v'=>10), '3' => array('id'=>4,'prize'=>'4g优盘','v'=>12), '4' => array('id'=>5,'prize'=>'10q币','v'=>22), '5' => array('id'=>6,'prize'=>'下次没准就能中哦','v'=>50), ); foreach ($prize_arr as $key => $val) { $arr[$val['id']] = $val['v']; } $rid = get_rand($arr); //根据概率获取奖项id $res['yes'] = $prize_arr[$rid-1]['prize']; //中奖项 unset($prize_arr[$rid-1]); //将中奖项从数组中剔除,剩下未中奖项 shuffle($prize_arr); //打乱数组顺序 for($i=0;$i<count($prize_arr);$i++){ $pr[] = $prize_arr[$i]['prize']; } $res['no'] = $pr; echo json_encode($res,json_unescaped_unicode);
相关推荐:
php实现抽奖程序中奖概率算法的示例
php 中奖概率算法实现代码
php中奖概率的抽奖算法程序代码_php教程
以上就是php中奖算法详解的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product