<?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