Круто, спасибо большое!..
Вопрос оптимизации, чтоб ресурсы не насиловать. Изначально приходил массив иного характера, но я его подправил...
Был:
Array
(
[0] => Array
(
[name] => title_1
[value] => Автосалон BMW
)
[1] => Array
(
[name] => car_1
[value] => x6
)
[2] => Array
(
[name] => title_2
[value] => Автосалон opel
)
[3] => Array
(
[name] => car_2
[value] => astra
)
)
Изменил так:
for ($i = 0; $i < count($array); $i++) {
foreach ($array[$i] as $key=>$value) {
if($key == 'name') {
$new = explode("_", $value);
$array[$i]['id'] = $new[1];
unset($array[$i][$key]);
}else if($key == 'value'){
$array[$i][$new[0]] = $value;
unset($array[$i][$key]);
}
}
}
потом ваш код:
$result = array();
foreach($array as $items) {
if(isset($result[$items['id']])) {
$result[$items['id']] += $items;
} else {
$result[$items['id']] = $items;
}
}
$result = array_values($result);
print_r($result);
Вопрос, можно ли объединить эти фокусы как нибудь в один foreach?