Home > Article > Backend Development > How to implement the php lucky wheel code
php How to implement the Lucky Wheel: 1. Create a PHP sample file; 2. Implement the Lucky Wheel lottery algorithm through the code "function get_gift(){...}".
#The operating environment of this article: Windows 7 system, PHP version 7.4, Dell G3 computer.
How to implement the php lucky wheel code?
PHP implements the big carousel lottery algorithm
Code:
function get_gift(){ //拼装奖项数组 // 奖项id,奖品,概率 $prize_arr = array( '0' => array('id'=>1,'prize'=>'平板电脑','v'=>0), '1' => array('id'=>2,'prize'=>'数码相机','v'=>1), '2' => array('id'=>3,'prize'=>'音箱设备','v'=>1), '3' => array('id'=>4,'prize'=>'4G优盘','v'=>1), '4' => array('id'=>5,'prize'=>'10Q币','v'=>1), '5' => array('id'=>6,'prize'=>'空奖','v'=>6), ); 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; // var_dump($res); if($res['yes']!='空奖'){ $result['status']=1; $result['name']=$res['yes']; }else{ $result['status']=-1; $result['msg']=$res['yes']; } //return $result; var_dump($result); } //计算中奖概率 function get_rand($proArr) { $result = ''; //概率数组的总概率精度 $proSum = array_sum($proArr); // var_dump($proSum); //概率数组循环 foreach ($proArr as $key => $proCur) { $randNum = mt_rand(1, $proSum); //返回随机整数 if ($randNum <= $proCur) { $result = $key; break; } else { $proSum -= $proCur; } } unset ($proArr); return $result; } get_gift();
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to implement the php lucky wheel code. For more information, please follow other related articles on the PHP Chinese website!