<?php
function getPrize($prizes) {
//概率数组的总概率精度
$pro_sum = array_sum(array_column($prizes,'odds'));
//概率数组循环
foreach ($prizes as $item) {
$rand_num = mt_rand(1, $pro_sum);
if ($rand_num <= $item['odds']) {
return $item;
} else {
$pro_sum -= $item['odds'];
}
}
unset ($prizes);
}
$prize = [
[
'id'=>1,
'prize_name'=>'奖品1',
'val'=>1,
'odds'=>68688
],
[
'id'=>2,
'prize_name'=>'奖品2',
'val'=>1,
'odds'=>24500
],
[
'id'=>3,
'prize_name'=>'奖品3',
'val'=>1,
'odds'=>5000
],
[
'id'=>4,
'prize_name'=>'奖品4',
'val'=>1,
'odds'=>900
],
[
'id'=>5,
'prize_name'=>'奖品5',
'val'=>1,
'odds'=>500
],
[
'id'=>6,
'prize_name'=>'奖品6',
'val'=>1,
'odds'=>260
],
[
'id'=>6,
'prize_name'=>'奖品7',
'val'=>1,
'odds'=>150
],
[
'id'=>6,
'prize_name'=>'奖品8',
'val'=>1,
'odds'=>2
],
];
echo json_encode(getPrize($prize));
抽奖实现
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 京城都市生活的一对小夫妻离婚了,短婚一年,导致他们离婚的原因是妈妈吗? 婚前女孩听说男孩父母离婚多年,却一个未娶一...