使用Laravel将PHP数组合并到大容量插入

使用Laravel将PHP数组合并到大容量插入,php,mysql,arrays,laravel,multidimensional-array,Php,Mysql,Arrays,Laravel,Multidimensional Array,我有一个大约50000行的Excel文件。使用Maatwebsite/Laravel Excel将其导入数组后,我得到的结果数组是: Array ( [0] => Array ( [numbers]=> 123456789 ) [1] => Array ( [numbers] => 123456788 ) ... 我想在这里做的是: 用“数字”代替数字 将“组id”添加到数组中(请注意,此数组中的每个组i

我有一个大约50000行的Excel文件。使用Maatwebsite/Laravel Excel将其导入数组后,我得到的结果数组是:

Array
(
[0] => Array
    (
        [numbers]=> 123456789
    )

[1] => Array
    (
        [numbers] => 123456788
    )
...
我想在这里做的是:

  • 用“数字”代替数字

  • 将“组id”添加到数组中(请注意,此数组中的每个组id都具有相同的值)

  • 结果是:

    Array
    (
    [0] => Array
        (
            [number]=> 123456789
            [group_id] => 44
        )
    
    [1] => Array
        (
            [number] => 123456788
            [group_id] => 44
    
        )
    ...
    

    我的问题是,最有效的处理方法是什么?使用
    foreach
    将导致大量时间(五分钟或更长的处理时间)。

    没有比
    foreach
    更好的方法了。您可以做的唯一优化是通过引用传递它,以便重用原始阵列:

    foreach ($records as &$record)
    {
        $record['number'] = $record['numbers'];
    
        $record['group_id'] = 44;
    
        unset($record['numbers']);
    }
    

    Excel文件是否来自文件上载?如果是这样,您可以上传它,然后作为后台工作进行导入。