>近期要实现一个抽奖的活动,查找一番,比修改为合理业务代码。 html代码: ```html js抽奖 再来一次10麦粒下次加油 医药学大词典20M流量包 医学文献王20麦粒50M流量包 ``` PHP抽奖概率: ```php $proCur) { $randNum = mt_rand(1, $proSum); //随机一个整数(1-100) if ($randNum <= $proCur) { //如果随机的数小于等于当前奖品的概率 $result = $key; //则 返回当前概率下标,即礼品数组的下标 break; } else { $proSum -= $proCur; //否则,每次减去对应的概率数 } } unset ($proArr); return $result; } /* * 获取中奖信息函数 * 每次前端页面的请求,PHP循环奖项设置数组, * 通过概率计算函数get_rand获取抽中的奖项id。 * 将中奖奖品保存在数组$res['yes']中, * 而剩下的未中奖的信息保存在$res['no']中, * 最后输出json数据给前端页面。 */ function get_prize($prize_arr) { foreach ($prize_arr as $key => $val) { $arr[$val['id']] = $val['chance']; } $rid = get_rand($arr); //根据概率获取奖项id $res['yes'] = $prize_arr[$rid-1]['prize']; //中奖项 /* //获取未中奖 奖品列表 unset($prize_arr[$rid-1]); //将中奖项从数组中剔除,剩下未中奖项 shuffle($prize_arr); //打乱数组顺序 for($i=0;$i array('id'=>1,'prize'=>'平板电脑','chance'=>1), '1' => array('id'=>2,'prize'=>'数码相机','chance'=>5), '2' => array('id'=>3,'prize'=>'音箱设备','chance'=>10), '3' => array('id'=>4,'prize'=>'4G优盘','chance'=>12), '4' => array('id'=>5,'prize'=>'10Q币','chance'=>22), '5' => array('id'=>6,'prize'=>'下次没准就能中哦','chance'=>50), ); ```