愿时光能在字里行间里留下一些温暖的印记

批量生成双色球 算法

需求

因项目要给会员派发彩票,所以系统要生成1000注彩票(看来500万大奖要出自我手了),于是写了这么一个算法,由于要过滤重复号码,所以用了while循环

代码

function getcp($num){
   
  $arr=[];
  while (count($arr) < $num) {


     $tmp=[];

   while (count($tmp) < 6) {
      $tmp[]=mt_rand(1,33);
      $tmp=array_unique($tmp);
      array_multisort($tmp,SORT_ASC,SORT_NUMERIC);

   }
   $tmp=implode(" ",$tmp);
   $arr[]=$tmp."-".mt_rand(1,16);

   $arr=array_unique($arr);
      
   
   }

  
   return $arr;
    


  }  


/* arr ( [0] => 3 5 6 7 28 31-12
    [1] => 5 7 13 18 26 32-6
    [2] => 1 2 8 17 19 32-16
    [3] => 9 15 16 22 25 31-1
    [4] => 4 5 6 21 22 32-4
    [5] => 9 13 16 25 27 31-14
    [6] => 6 14 17 22 28 33-13
    [7] => 4 5 8 17 27 30-9
    [8] => 12 14 18 22 26 33-6
    [9] => 5 11 15 25 26 32-12
)

*/
点赞