循环遍历大型数据数组以创建另一个数据数组


PHP Looping through large data array to create another one

我有一个非常大的多维数组,我想创建另一个,将所有具有相同mapping_id的元素合并到一个数组中。我试着用foreach,但它需要太长时间,有其他解决方案吗?这是我的文件:

$newArray = array();
foreach ($objects as $obj) {
    $newArray[$obj['mapping_id']][] = $obj;
}

$objects是包含键mapping_id和其他键的多维数组。

使用array_chunk。来自PHP net手册:将一个数组块成每个元素大小的数组。最后一个块可以包含小于size的元素。试试这个:

$newArray = [];
$rows = array_chunk($objects, 100);
foreach ($rows as $obj) {
    $newArray[$obj['mapping_id']][] = $obj;
}