如何通过特定元素合并多维数组?

时间:2013-12-04 08:15:13

标签: php arrays

我有这种结构的数组:

array(
    array('name' => 'Some name', 'data' => array()),
    array('name' => 'Some name #2', 'data' => array()),
    array('name' => 'Some name #3', 'data' => array()),
    array('name' => 'Some name #4', 'data' => array()),
    array('name' => 'Some name', 'data' => array()),
)

合并名称相同的数据的最佳方法是什么?也许有一些函数或者我只需要循环所有函数?

1 个答案:

答案 0 :(得分:1)

迭代它并基于元素名称创建另一个数组作为键,然后对其追加数组项

例如

$x = array(
    array('name' => 'Some name', 'data' => array()),
    array('name' => 'Some name #2', 'data' => array()),
    array('name' => 'Some name #3', 'data' => array()),
    array('name' => 'Some name #4', 'data' => array()),
    array('name' => 'Some name', 'data' => array()),
);

$newarray = array();
foreach ($x as $item) {
    $newarray[$item['name']][] = $item['data'];
}