3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ ['quantity' => 5, 'dd' => '01-Nov-2012'], ['quantity' => 10, 'dd' => '01-Nov-2012'], ['quantity' => 3, 'dd' => '02-Nov-2012'], ['quantity' => 4, 'dd' => '03-Nov-2012'], ['quantity' => 15, 'dd' => '03-Nov-2012'], ]; $result = []; foreach ($array as $row) { if (!isset($ref[$row['dd']])) { $ref[$row['dd']] = $row; $result[] = &$ref[$row['dd']]; } else { $ref[$row['dd']]['quantity'] += $row['quantity']; } } var_export($result);

preferences:
25.46 ms | 404 KiB | 5 Q