Reputation: 4596
I have array with this kind of structure:
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()),
)
What is the best way to merge data where names are same? Maybe there is some functions or i need simply loop trough all?
Upvotes: 0
Views: 46
Reputation: 13535
iterate through it and create a another array based on the element name as key and then append array items against it
for example
$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'];
}
Upvotes: 1