我有一个非常大的多维数组,我想创建另一个,将所有具有相同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;
}