如何按特定元素合并多个常用数组


How to merge multidemntional array by specific element?

我有这样结构的数组:

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()),
)

在名称相同的情况下,合并数据的最佳方法是什么?也许有一些功能,或者我需要简单地循环所有功能?

遍历它,并根据元素名称作为关键字创建另一个数组,然后根据它附加数组项

例如

$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'];
}