Я должен присоединиться к массиву массива с одинаковым идентификатором, размером и типом и суммировать значение ключа num в php. Я нашел решения только для одного ключа, но мне нужно совпадение в 3 ключах
Array
(
[3] => Array
(
[id] => 460
[size] => 24
[num] => 1
[price] => 6800.00
[type] => 1
)
[2] => Array
(
[id] => 460
[size] => 24
[num] => 1
[price] => 6800.00
[type] => 1
)
[1] => Array
(
[id] => 460
[size] => 24
[num] => 1
[price] => 6800.00
[type] => 2
)
)
Мне нужно получить массив, как показано ниже, где каждый из них остается прежним, и просто числовое число суммируется, когда значения идентификатора, типа и размера одинаковы
Массив (
[2] => Array
(
[id] => 460
[size] => 24
[num] => 2
[price] => 6800.00
[type] => 1
)
[1] => Array
(
[id] => 460
[size] => 24
[num] => 1
[price] => 6800.00
[type] => 2
)
)
Я решил очень просто, используя временный массив, как в этом примере
$newArr = array();
foreach($your_arr as $key=>$val){
$index = $val['context'].$val[1];
if(isset($newArr[$index])){
$val_0 = $newArr[$val['context'].$val[1]][0] + $val[0];
$newArr[$val['context'].$val[1]] = array($val_0, $val[1], 'context'=>$val['context']);
}else{
$newArr[$val['context'].$val[1]] = $val;
}
}
$result = array_values($newArr);
print '<pre>';
print_r($result);
print '</pre>';