tip:两个随机发红包发红包的算法 红包的总金额 与 个数 是接收的输入值
如在开发中用到 ,可视情况更改。
如有什么更好的思路,欢迎分享~
<?php
# 抢红包算法基础版 (金额参数以分为单位) 二倍均值法
## 基本思路:剩余红包金额为M,剩余人数为N,那么有如下公式:
## 每次抢到的金额 = 随机区间 (0, M / N X 2)
### 参数:(int)$total : 红包总金额(分) (int)$num : 所发红包个数
function getHong($total = 0 , $num = 0) {
$bag = [];
if ($total == 0 || $num == 0 || $total < $num) {
return false;
}
if ($num == 1) {
$bag[] = $total;
return $bag;
}
for($i = 0; $i < $num ; $i++) {
// echo '剩余人数:' . ($num - $i) . "\t\n";
if ( ($num - $i) == 1) {
array_push($bag, $total);
break;
}
// echo "剩余总金额:" . $total . "\t\n";
$_tmp = floor($total / ($num - $i) * 2); //红包数
// echo "当前红包最大限额:&#