微信红包金额分配案例
时间:2015-11-12 17:33:13
收藏:0
阅读:276
<?php // 本类由系统自动生成,仅供测试用途 class IndexAction extends Action { /* 微信红包的总额有100元,必须要发送给60个用户, 每个用户领取的红包是随机的,且每个用户领取的金额不得大于2元 **/ public function index(){ $total =100;//100元 $amount = 60;//60人 $baseCash = 0.1;//基础值 $arr = $this->assign_money($total,$amount,$baseCash); dump($arr); dump(array_sum($arr)); //array_sum() 函数返回数组中所有值的总和 } /*array_fill() 函数用给定的值填充数组, 返回的数组有 number 个元素,值为 value。 返回的数组使用数字索引, 从 start 位置开始并递增。 如果 number 为 0 或小于 0, 就会出错。*/ public function assign_money($total,$amount,$baseCash){ $arr = array_fill(0,$amount,$baseCash); $total=floor($total - $amount*$baseCash); while($total>0){ //只要指定条件为真,则循环代码块 $lucky =rand(0,$amount-1);//返回0~59之间的随机整数 if($arr[$lucky]<2){ $arr[$lucky]+=$baseCash; $total = round($total - $baseCash,1);//对浮点数进行四舍五入,保留一位小数点 } } return $arr; } } ?>
评论(0)