清華大佬耗費三個月吐血整理的幾百G的資源,免費分享!....>>>
/** * @param $total [你要發(fā)的紅包總額] * @param int $num [發(fā)幾個] * @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 )*/