PHP拆分金额
PHP拆分金额
<?php function get_money($money,$number,$cash){ $list = array(); for ($i=0; $i < $number - 1; $i++) { $list[] = sprintf("%.2f",$money / 2 * (rand(97,99) / 100) ); } $sum = array_sum($list); $list[] = sprintf("%.2f",$money - $sum); // 调整金额不能超过剩余金额 $list = get_price($list,$money,$cash); return $list; } function get_price($list,$money,$cash){ foreach ($list as $key => $value) { if($value > $cash){ $num = (rand(10,999) / 100); $value = $cash - $num; $min = array_search(min($list),$list); $list[$min] = $list[$min] + $num; $list[$key] = $value; } } $min = array_search(min($list),$list); $sum = array_sum($list); $list[$min] = $list[$min] + ($money - $sum); foreach ($list as $key => $value) { if($value > $cash){ $list = get_price($list,$money,$cash);break; } } return $list; }