3v4l.org

run code in 500+ PHP versions simultaneously
<?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);
Output for rfc.property-hooks, git.master, git.master_jit
array ( 0 => array ( 'name' => 'John Doe', '2016-02-01' => 1242, '2016-02-02' => 379, ), 1 => array ( 'name' => 'Jane Doe', '2016-02-01' => 205, '2016-02-02' => 1687, '2016-02-03' => 211, ), )

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:
47.69 ms | 1156 KiB | 4 Q