3v4l.org

run code in 300+ PHP versions simultaneously
<?php $dataItems = [ [ 'id' => 1, 'serial' => "XXXXXXAA1", 'pd_item_info' => [ 'id' => 1, 'quantity' => 5, 'ipo_item_pml_info' => [ 'id' => 1, 'product_name' => 'Keyboard' ] ] ], [ 'id' => 33, 'serial' => "XXXXXXFOO", 'pd_item_info' => [ 'id' => 33, 'quantity' => 100, 'ipo_item_pml_info' => [ 'id' => 33, 'product_name' => 'Speaker' ] ] ], [ 'id' => 2, 'serial' => "XXXXXXAA2", 'pd_item_info' => [ 'id' => 2, 'quantity' => 10, 'ipo_item_pml_info' => [ 'id' => 2, 'product_name' => 'Keyboard' ] ] ] ]; $result = []; foreach ( $dataItems as [ 'pd_item_info' => ['ipo_item_pml_info' => ['product_name' => $name]], 'serial' => $result[$name][] ] ); var_export($result);
Output for 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
array ( 'Keyboard' => array ( 0 => 'XXXXXXAA1', 1 => 'XXXXXXAA2', ), 'Speaker' => array ( 0 => 'XXXXXXFOO', ), )

preferences:
58.44 ms | 994 KiB | 4 Q