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'], ]; var_export( array_reduce( $array, function($result, $row) { static $ref = []; if (!isset($ref[$row['dd']])) { $ref[$row['dd']] = $row; $result[] = &$ref[$row['dd']]; } else { $ref[$row['dd']]['quantity'] += $row['quantity']; } return $result; } ) );
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
array ( 0 => array ( 'quantity' => 15, 'dd' => '01-Nov-2012', ), 1 => array ( 'quantity' => 3, 'dd' => '02-Nov-2012', ), 2 => array ( 'quantity' => 19, 'dd' => '03-Nov-2012', ), )

preferences:
60.86 ms | 402 KiB | 91 Q