php高效生成随机数(2种)

php高效生成随机数(2种)

  • 1.生成指定范围指定个数的随机数
    • 2.固定数值生成n个随机数(个数随机)

1.生成指定范围指定个数的随机数

 public function dc_rand1($min, $max, $num) {
        $count = 0;
        $return = array();
        while ($count < $num) {
            $return[] = mt_rand($min*100, $max*100)/100;
            $count = count($return);
        }
//        //打乱数组,重新赋予数组新的下标
//        shuffle($return);
        return $return;//返回的是一维数组
    }

2.固定数值生成n个随机数(个数随机)

 public function dc_rand2($total,$min,$max){
        $return = array();
        while($total>0){
            $m = sprintf('%.2f',mt_rand($min*100,$max*100)/100);
            $total = $total - $m; //减去对应的值
            if($total<0){
                $m = sprintf('%.2f',$m+$total);   //把差值加回去
            }
            $return[] = $m;
        }
        return  $return;//返回的是一维数组
    }

你可能感兴趣的:(PHP)