<?php $in = [ [ 'saledate' => '2016-02-01', 'name' => 'John Doe', 'markup' => 561 ], [ 'saledate' => '2016-02-01', 'name' => 'John Doe', 'markup' => 681 ], [ 'saledate' => '2016-02-02', 'name' => 'John Doe', 'markup' => 379 ], [ 'saledate' => '2016-02-01', 'name' => 'Jane Doe', 'markup' => 205 ], [ 'saledate' => '2016-02-02', 'name' => 'Jane Doe', 'markup' => 900 ], [ 'saledate' => '2016-02-02', 'name' => 'Jane Doe', 'markup' => 787 ], [ 'saledate' => '2016-02-03', 'name' => 'Jane Doe', 'markup' => 211 ] ]; $result = []; foreach ($in as ['saledate' => $s, 'name' => $n, 'markup' => $m]) { if (!isset($ref[$n])) { $ref[$n] = ['name' => $n, $s => $m]; $result[] = &$ref[$n]; } else { $ref[$n][$s] = ($ref[$n][$s] ?? 0) +$m; } } var_export($result);
You have javascript disabled. You will not be able to edit any code.