PHP通过大型数据阵列循环创建另一个

时间:2015-08-18 23:01:43

标签: php arrays sorting multidimensional-array

我有一个非常庞大的多维数组,我想创建另一个数组,将所有具有相同mapping_id的元素合并到一个数组中。我正在尝试使用foreach,但这需要太长时间,是否有其他解决方案?这就是我所拥有的:

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

$objects是一个多维数组,包含键mapping_id和其他键。

1 个答案:

答案 0 :(得分:2)

使用array_chunk。来自PHP网络手册: 将数组块化为具有大小元素的数组。最后一个块可能包含小于size的元素。 试试这个:

$newArray = [];
$rows = array_chunk($objects, 100);

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

希望得到这个帮助。