PHP大转盘中奖概率算法实例
本文实例讲述了PHP大转盘中奖概率算法的实现方法,分享给大家供大家参考。具体如下:
大转盘是最近很多线上网动中一个比较有意思的东西了,下面我们就来看看这个大转盘中奖概率算法与例子,希望对各位有所帮助。
这是一个APP客户端有大转盘抽奖算法,具体如何抽奖当然在我们服务端实现了。下面和大家简单分享一下实现代码:
header("Content-type:text/html;charset=utf-8");
$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),
);
$actor=100;
foreach($prize_arras$v){
$arr[$v['id']]=$v['v'];
}
foreach($arras&$v){
$v=$v*$actor;
}
asort($arr);
$sum=array_sum($arr); //总概率
$rand=mt_rand(1,$sum);
$result=''; //中奖产品id
foreach($arras$k=>$x)
{
if($rand<=$x)
{
$result=$k;
break;
}
else
{
$rand-=$x;
}
}
$res['yes']=$prize_arr[$result-1]['prize'];//中奖项
print_r($res);
希望本文所述对大家的PHP程序设计有所帮助。