3v4l.org

run code in 300+ PHP versions simultaneously
<?php $item = array ( 0 => array ( 'invoice_id' => '72,', 'item' => 'SN00001' ), 1 => array ( 'invoice_id' => '73,', 'item' => 'SN00002' ), 2 => array ( 'invoice_id' => '73,', 'item' => 'SN00003' ), 3 => array ( 'invoice_id' => '73,', 'item' => 'SN00004' ), 4 => array ( 'invoice_id' => '74,', 'item' => 'SN00005' ), 5 => array ( 'invoice_id' => '74,', 'item' => 'SN00006' ) ); $items = array_map(function ($inv_id) use ($item) { return array('invoice_id' => $inv_id, 'group' => array_filter($item, function ($itm) use ($inv_id) { return $itm['invoice_id'] == $inv_id; }) ); }, array_unique(array_column($item, 'invoice_id')) ); print_r($items); $items = array_values(array_map(function ($inv_id) use ($item) { return array('invoice_id' => $inv_id, 'group' => array_values(array_filter($item, function ($itm) use ($inv_id) { return $itm['invoice_id'] == $inv_id; })) ); }, array_unique(array_column($item, 'invoice_id')) )); print_r($items);

preferences:
93.22 ms | 409 KiB | 5 Q