php紅包算法

/**
    * @param $num
    * @param $total
    * @param int $range  差距是否大
    * @return array|int
    */
   private function randomSplit($num,$total,$range=1){
 
       if($num<2){
           return $total;
       }
 
       $div=array();
 
       $min=floor($total/$num-$range);
       $max=floor($total/$num+$range);
       for($i=0;$i<$num-1;$i++){
           $depart=mt_rand($min,$max);
           $div[]=$depart;
           $total-=$depart;
       }
       $div[]=$total;
       return $div;
 
   }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章