本文实例讲述了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_arr as $v) {
$arr[$v["id"]] = $v["v"];
}
foreach ($arr as &$v) {
$v = $v*$actor;
}
asort($arr);
$sum = array_sum($arr); //总概率
$rand = mt_rand(1,$sum);
$result = ""; //中奖产品id
foreach ($arr as $k => $x)
{
if($rand <= $x)
{
$result = $k;
break;
}
else
{
$rand -= $x;
}
}
$res["yes"] = $prize_arr[$result-1]["prize"]; //中奖项
print_r($res);
希望本文所述对大家的PHP程序设计有所帮助。