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

抽奖概率 PHP

2024/4/3 21:53:53发布16次查看
抽奖概率
<?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' => array('id'=>2,'prize'=>'数码相机','v'=>0), '2' => array('id'=>3,'prize'=>'音箱设备','v'=>0), '3' => array('id'=>4,'prize'=>'4g优盘','v'=>0), '4' => array('id'=>5,'prize'=>'10q币','v'=>1), '5' => array('id'=>6,'prize'=>'下次没准就能中哦','v'=>100), ); //code here eg:unset($prize_arr['0']) 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 "<pre>"; print_r($res); // echo json_encode($res);
2. [代码]抽奖概率
<?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' => array('id'=>2,'prize'=>'数码相机','v'=>0), '2' => array('id'=>3,'prize'=>'音箱设备','v'=>0), '3' => array('id'=>4,'prize'=>'4g优盘','v'=>0), '4' => array('id'=>5,'prize'=>'10q币','v'=>1), '5' => array('id'=>6,'prize'=>'下次没准就能中哦','v'=>100), ); //code here eg:unset($prize_arr['0']) 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 "<pre>"; print_r($res); // echo json_encode($res);
以上就是抽奖概率的内容。
该用户其它信息

VIP推荐

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