3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = Array ( '0' => Array ( 'emp_firstname' => 'Alistair', 'non_pm' => 'AMZ', 'sum' => 2 ), '1' => Array ( 'emp_firstname' => 'Shakkeer', 'non_pm' => 'SHK', 'sum' => 3 ), '2' => Array ( 'emp_firstname' => 'Waqas', 'non_pm' => 'WAS', 'sum' => 12 ), '3' => Array ( 'emp_firstname' => 'Zain', 'non_pm' => 'ZAI', 'sum' => 9 ), '4' => Array ( 'emp_firstname' => 'Shakkeer', 'gud_pmeditor' => 'SHK', 'sum' => 4 ), '5' => Array ( 'emp_firstname' => 'Zain', 'gud_pmeditor' => 'ZAI', 'sum' => 2 ) ); $res=[]; foreach($arr as $val){ if(array_key_exists($val['emp_firstname'], $res)) $res[$val['emp_firstname']]['sum'] = ($res[$val['emp_firstname']]['sum'] + $val['sum']); else $res[$val['emp_firstname']] = $val; } print_r(array_values($res));
Output for 7.1.0 - 7.1.33, 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.19, 8.3.0 - 8.3.7
Array ( [0] => Array ( [emp_firstname] => Alistair [non_pm] => AMZ [sum] => 2 ) [1] => Array ( [emp_firstname] => Shakkeer [non_pm] => SHK [sum] => 7 ) [2] => Array ( [emp_firstname] => Waqas [non_pm] => WAS [sum] => 12 ) [3] => Array ( [emp_firstname] => Zain [non_pm] => ZAI [sum] => 11 ) )

preferences:
137.92 ms | 404 KiB | 210 Q