最近做的小程序有抽奖功能,下面是实现抽奖功能的具体流程前提:有一组奖品数据如下idprize(prize)probability(rate)quantity(num)抽奖数量(prize_num)1一等奖10%1002二等奖15%2003三等奖35%500根据以上,抽奖结果如下($prizes代表上表中的数据)//绘制$data=[];foreach($prizeas$prize){if(($prize['num']-$prize['prize_num'])>0){$data[$prize['id']]=100*($prize['速度']);}};//获得所有奖品的总概率$sum=array_sum($data);$countSum=100;if($sum<$countSum){$data[0]=$countSum-$sum;//如果小于100%,说明没有抽奖}$result=0;//概率数组的总准确率//概率数组循环foreach($dataas$key=>$value){$randNum=mt_rand(1,$countSum);如果($randNum<=$value){$result=$key;休息;}else{$countSum-=$value;}}未设置($arr);echo$result;//提取的ID值,0表示没有抽奖。根据以上可以实现抽奖功能
