很多时候,做活动需要抽奖游戏,
<?php
$prize_arr = array(
'0' => array('id'=>1,'prize'=>'平板电脑','v'=>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)
);
shuffle($prize_arr);
$pcount=array_sum(array_column($prize_arr,'v'));
$result=null;
foreach($prize_arr as $key=>$val){
$rand=mt_rand(1,$pcount);
var_dump($rand);
if($rand<=$val['v']){
$result=$key;
break;
}else{
$pcount-=$val['v'];
}
}
var_dump($prize_arr[$result]);代码实现:
$goods = array(
'0' => array('id'=>1,'prize'=>'平板电脑','v'=>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)
);$count=array_sum(array_column($goods,'odds'));
shuffle($goods);
$zhongjiang=null;
foreach($goods as $key=>$val){
$zj=rand(1,$count);
if($zj<=$val['odds']){
$zhongjiang=$goods[$key];
break;
}else{
$count-=$val['odds'];
}
}抽奖思路参考于:
https://www.helloweba.net/javascript/184.html
https://www.helloweba.net/tag/jiang.html