3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = Array ( '0' => Array ( 'number' => 2, 'name' => 'ABC' ), '1' => Array ( 'number' => 3, 'name' => 'ABC' ), '2' => Array ( 'number' => 1, 'name' => 'XYZ' ), '3' => Array ( 'number' => 2, 'name' => 'XYZ' ) ); $res = []; array_map(function($v) use (&$res){ array_key_exists($v['name'], $res) ? ($res[$v['name']]['number'] = $res[$v['name']]['number'].','.$v['number']) : ($res[$v['name']] = ['number' => $v['number'],'name' => $v['name']]) ; }, $arr); $res = array_values($res); echo '<pre>'; print_r($res);

preferences:
28.59 ms | 407 KiB | 5 Q