天天看點

PHP算法系列一:在規定次數中随機配置設定指定金額

/**
*功能:在規定次數中随機配置設定指定金額
*$total:需要配置設定的金額
*$num:需要配置設定的次數
*$min:需要配置設定的最小金額
*/
function randNum($total=200,$num=17,$min=1) {
    for ($i=1;$i<$num;$i++) {
        $safe_total = ($total - ($num-$i)*$min) / ($num-$i);//随機安全上限
        if($safe_total < $min) $safe_total = $min;
        $money = round(mt_rand($min*100,$safe_total*100)/100);
        $total = $total - $money;
        $data[] = round($money,2);
    }
    $data[] = round($total);
    shuffle($data);
    return $data;
}