//幸运大转盘
public function getTurnTable(){
/*$logic = new UsersLogic();
$user_id = $this->user_id;*/
//获取奖项数字
$prize_arr = array(
array('id'=>1,'type'=>'c','prize'=>10,'prize_name'=>"10金币",'weight'=>5,'rank'=>0),
array('id'=>2,'type'=>'c','prize'=>20,'prize_name'=>"20金币",'weight'=>5,'rank'=>1),
array('id'=>3,'type'=>'c','prize'=>15,'prize_name'=>"15金币",'weight'=>5,'rank'=>2),
array('id'=>4,'type'=>'g','prize'=>10,'prize_name'=>"手机",'weight'=>5,'rank'=>3),
array('id'=>5,'type'=>'p','prize'=>10,'prize_name'=>"貂蝉",'weight'=>5,'rank'=>4),
array('id'=>6,'type'=>'p','prize'=>10,'prize_name'=>"西施",'weight'=>5,'rank'=>5),
array('id'=>7,'type'=>'p','prize'=>10,'prize_name'=>"杨贵妃",'weight'=>5,'rank'=>6),
array('id'=>8,'type'=>'p','prize'=>10,'prize_name'=>"王昭君",'weight'=>65,'rank'=>7)
);
//抽奖开始
foreach ($prize_arr as $key => $val) {
$arr[$key] = $val['weight'];
}
$rid = self::getRand($arr); //根据概率获取奖项id
if($rid !== 0 && empty($rid))
{
//$rs = array();
return json_encode(array('status'=>0,'msg'=>"抽奖失败!",'result'=>null));
}
$pr = $prize_arr[$rid]; //中奖项
var_dump($pr);exit;
//return json_encode(array('status'=>1,'msg'=>"抽奖成功!",'result'=>$pr));
}
/**
* 根据概率获取奖项
* @param $priarr
* @return
*/
public function getRand($priarr) {
$result = '';
//概率数组的总概率精度
$proSum = array_sum($priarr);
//概率数组循环
foreach ($priarr as $key => $proCur) {
$randNum = mt_rand(1, $proSum);
if ($randNum <= $proCur) {
$result = $key;
break;
} else {
$proSum -= $proCur;
}
}
unset ($priarr);
return $result;
}