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_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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值