3v4l.org

run code in 500+ PHP versions simultaneously
<?php $in[] = array('year' => '2010', 'month' => '11', 'grupo' => '2', 'quantity' => 3); $in[] = array('year' => '2010', 'month' => '11', 'grupo' => '3', 'quantity' => 4); $in[] = array('year' => '2011', 'month' => '2', 'grupo' => '2', 'quantity' => 4); $in[] = array('year' => '2011', 'month' => '2', 'grupo' => '2', 'quantity' => 4); $in[] = array('year' => '2012', 'month' => '3', 'grupo' => '4', 'quantity' => 3); $in[] = array('year' => '2012', 'month' => '3', 'grupo' => '4', 'quantity' => 3); $result = []; foreach ($in as $row) { $compositeKey = implode(array_slice($row, 0, 3)); if (!isset($result[$compositeKey])) { $result[$compositeKey] = $row; } else { $result[$compositeKey]['quantity'] += $row['quantity']; } } var_export( array_values($result) );
Output for rfc.property-hooks, git.master, git.master_jit
array ( 0 => array ( 'year' => '2010', 'month' => '11', 'grupo' => '2', 'quantity' => 3, ), 1 => array ( 'year' => '2010', 'month' => '11', 'grupo' => '3', 'quantity' => 4, ), 2 => array ( 'year' => '2011', 'month' => '2', 'grupo' => '2', 'quantity' => 8, ), 3 => array ( 'year' => '2012', 'month' => '3', 'grupo' => '4', 'quantity' => 6, ), )

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
56.59 ms | 1318 KiB | 4 Q