3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a = array ( '2014-04-22|Paul' => 0, '2014-04-28|Paul' => 2, '2014-05-13|Paul' => 0, '2014-06-03|Paul' => 1, '2014-06-12|Paul' => 0, '2014-08-11|Paul' => 1, '2014-08-28|Paul' => 3, '2012-05-09|John' => 1, '2012-08-29|John' => 2, '2012-09-05|John' => 0, '2012-09-13|John' => 1 ); $b = array(); $lastname = ''; foreach ($a as $key => $value) { list($d, $n) = explode('|', $key); if ($n == $lastname) { $total += $value; } else { $total = $value; } $b[$key] = $total; $lastname = $n; } print_r($b);
Output for 7.1.25 - 7.1.28, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Array ( [2014-04-22|Paul] => 0 [2014-04-28|Paul] => 2 [2014-05-13|Paul] => 2 [2014-06-03|Paul] => 3 [2014-06-12|Paul] => 3 [2014-08-11|Paul] => 4 [2014-08-28|Paul] => 7 [2012-05-09|John] => 1 [2012-08-29|John] => 3 [2012-09-05|John] => 3 [2012-09-13|John] => 4 )

preferences:
157.95 ms | 404 KiB | 165 Q