需求 一元购 订单生成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);