/ * @param $total [你要发的红包总额] * @param int $num [发几个] * @return array[生成红包金额] */ function getRedGift($total, $num = 10) { $min = 0.01; $wamp = array(); $returnData = array(); for ($i = 1; $i < $num; ++$i) { $safe_total = ($total - ($num - $i) * $min) / ($num - $i); //红包金额的最大值 if ($safe_total < 0) break; $money = @mt_rand($min * 100, $safe_total * 100) / 100;//随机产生一个红包金额 $total = $total - $money;//剩余红包总额 $wamp[$i] = round($money, 2);//保留两位有效数字 } $wamp[$i] = round($total, 2); $returnData['MoneySum'] = $wamp; $returnData['newTotal'] = array_sum($wamp); return $returnData; } //测试 $data = getRedGift(100, 10); print_r($data); //result: /* Array ( [1] => 8.7 [2] => 10.09 [3] => 6.23 [4] => 6.87 [5] => 0.47 [6] => 3.12 [7] => 7.52 [8] => 12.21 [9] => 20.53 [10] => 24.26 )*/
代码到此就给大家写完了,希望对大家有所帮助!更多有关php 生成红包的程序代码尽在本网站网站,请登陆我们的官网了解更多资讯,谢谢!
您可能感兴趣的文章:
- PHP微信公众号开发之微信红包实现方法分析
- PHP微信红包生成代码分享
- 微信红包随机生成算法php版
- 基于PHP微信红包的算法探讨
- php仿微信红包分配算法的实现方法
- php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
- PHP微信红包API接口
- php实现的微信红包算法分析(非官方)
- PHP实现微信红包金额拆分试玩的算法示例