微信、支付宝发红包在过年过节的时候非常火…这里用php简单模仿了下。简单算法,仅供参考!
实际应用中,可以把红包结果放入一个数组中,或存入数据库,再以json数组方式打给前端,代码如下:
<?php $total = 50; //红包总金额 $num = 20; //分发给20个人 $min = 0.01; //每个人最少得0.01元 //获取一个随机整数 function getIntNum($min,$max){ return round(mt_rand($min*100,$max*100),2)/100; } for ($i=1;$i<$num;$i++){ $safe_total = ($total-($num-$i)*$min); //随机安全上限 $safe_total = $safe_total/getIntNum(1,$num-$i); //公正随机处理(更好的算法可以放到这里处理) $money = getIntNum($min,$safe_total); $total = round($total-$money,2); echo '第'.$i.'个红包:'.$money.' 元,余额:'.$total.' 元 <br/>'; } echo '第'.$num.'个红包:'.$total.' 元,余额:0 元';
部分代码来源于网络搜集整理,有删改