PHP 数组使用 Laravel 合并到批量插入

标签 php mysql arrays laravel multidimensional-array

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

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

[1] => Array
    (
        [numbers] => 123456788
    )
...

我想在这里做的是:

  1. 使用“数字”代替数字。

  2. 将“group_id”添加到数组中(注意这个数组中的每个group_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']);
}

关于PHP 数组使用 Laravel 合并到批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25492734/

相关文章:

javascript - 在页面上存储 Ajax 请求数据的最佳方式

mysql - SQL计数/查询帮助

javascript - React Native 循环此 API 来显示

php - 使用 SSL 后我需要向 PHP 添加任何代码吗

php - 没有谷歌电子表格的谷歌图表

java - SOLR 新手,需要一些安装帮助

javascript - 如何从数组中的数组中绘制 AngularJs 表?

java - 运行代码时出错(数组问题)?

php - 如何更新将 +1 添加到所有 ActiveRecord 选定行中的字段

mysql - 使用 MySQL 的 Meteor 帐户