生成指定个数的随机红包-PHP源码
指定红包金额,最小红包金额和红包个数就可以自动生成
[PHP]代码
getPack(); foreach($jieguo as $key=>$val){ $n = $key+1; echo '第'.$n.'个红包:'.$val['money'].' 元,余额:'.$val['balance'].' 元
'; } class redpack{ //总金额 private $total=0; //红包数量 private $num=0; //最小红包金额 private $min=0.01; public function __construct($total,$num,$min) { $this->total = $total; $this->num = $num; $this->min = $min; } //红包结果 public function getPack() { $total = $this->total; $num = $this->num; $min = $this->min; for ($i=1;$i<$num;$i++) { $safe_total=($total-($num-$i)*$min)/($num-$i);//随机安全上限 $money=mt_rand($min*100,$safe_total*100)/100; $total=$total-$money; //红包数据 $readPack[]= [ 'money'=>$money, 'balance'=>$total, ]; } //最后一个红包,不用随机 $readPack[] = [ 'money'=>$money, 'balance'=>0, ]; //返回结果 return $readPack; } }
PHP之友评论