百分百可用随机红包算法
2017-11-22 本文已影响0人
唐白方
public function rand_red($money,$num){
$per_money = $money/$num;
if($per_money<0.01)
return [false,'单个红包金额不可低于1分钱,请重填金额'];
$pack_list=array();
$last = $money*100-1;
$have = 0;
$time = $num;
for ($i=1;$i<=$time;$i++){
if($i==$time){
$pack_list[] = ($money*100-$have)/100;
break;
}
$per = $last/$num;
$red = mt_rand(1,$per*2);
$pack_list[] = $red/100;
$last = $last-$red;
$num--;
$have+=$red;
}
return $pack_list;
}