欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php随机概率红包算法

程序员文章站 2022-03-17 10:43:20
...
 /**
     * @param $num
     * @param $total
     * @param int $range  差距是否大
     * @return array|int
     */
    private function randomSplit($num,$total,$range=1){

        if($num<2){
            return $total;
        }

        $p=array();

        $min=floor($total/$num-$range);
        $max=floor($total/$num+$range);
        for($i=0;$i<$num-1;$i++){
            $depart=mt_rand($min,$max);
            $p[]=$depart;
            $total-=$depart;
        }
        $p[]=$total;
        return $p;

    }