<?php
$a = array (
0 =>
array (
'total_price' => '19.120000',
'total_percent' => '0.20',
'vat_code' => 22,
'discount_percent' => '3.82',
),
1 =>
array (
'total_price' => '58.000000',
'total_percent' => '0.60',
'vat_code' => 22,
'discount_percent' => '11.60',
),
2 =>
array (
'total_price' => '20.000000',
'total_percent' => '0.21',
'vat_code' => 4,
'discount_percent' => '4.00',
),
);
foreach($a as $v){
isset($group[$v['vat_code']]) ?
($group[$v['vat_code']]['total_price'] += $v['total_price'] AND
$group[$v['vat_code']]['total_percent'] += $v['total_percent'] AND
$group[$v['vat_code']]['discount_percent'] += $v['discount_percent']
)
:
($group[$v['vat_code']] = $v);
}
print_r(array_values($group));
preferences:
29.83 ms | 405 KiB | 5 Q