I have the following array
Array ( [0] => Array ( [id] => 96 [shipping_no] => 212755-1 [part_no] =&
This array_group_by function achieves what you are looking for:
$grouped = array_group_by($arr, 'id');
It even supports multi-level groupings:
$grouped = array_group_by($arr, 'id', 'part_no');