php 生成百万数,不重复,并且打乱数字顺序,插入数据库

需求 一元购 订单生成100w份数幸运号码 并且不能重复号码

  思路 1.先用range 函数生成100w 数组元素

2.shuffle函数 打乱数组下标元素 这样到时查询数据库的时候,上下两条数据 幸运号码数是随机的

3.array_chunk把数组按10000个元素拆分成多个数组变成二维数组

4.循环二维数组每次累加10000个元素号码拼接成sql语句插入数据库

 按生成100000个幸运数字,从1开始生成有序的数组元素

   $num_info = range (1,100000);

   打乱数组下标

        shuffle($num_info);

      按10000再将num_info拆成二维数组

        $num_info_sum = array_chunk($num_info,10000);

     .循环拆分的二维数组,按10000个循环累加成sql语句 一次插入。

        foreach ($num_info_sum as $key => $value) {
        $txt ='insert into ys_orders_snatch_num (snatch_num,num) values ';
         foreach ($value as $k => $v) {
               $num=10000000+$v;
            $txt .= '(\''.$snatch_num.'\', \''.$num.'\'),';
         }
           $newstr = substr($txt,0,strlen($txt)-1).';'; 
          Db::execute($newstr);

你可能感兴趣的:(php)