3v4l.org

run code in 300+ PHP versions simultaneously
<?php $productCodes = [ [ 'parent' => [ 'name' => 'finish', ], // ... ], [ 'parent' => [ 'name' => 'fixture', ], // ... ], [ 'parent' => [ 'name' => 'finish', ], // ... ], [ 'parent' => [ 'name' => 'finish', ], // ... ], [ 'parent' => [ 'name' => 'fixture', ], // ... ], ]; $result = []; foreach ($productCodes as $option) { $parentName = $option['parent']['name']; $result[$parentName]['title'] = $parentName; $result[$parentName]['items'][] = $option; } var_dump(array_values($result));
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
array(2) { [0]=> array(2) { ["title"]=> string(6) "finish" ["items"]=> array(3) { [0]=> array(1) { ["parent"]=> array(1) { ["name"]=> string(6) "finish" } } [1]=> array(1) { ["parent"]=> array(1) { ["name"]=> string(6) "finish" } } [2]=> array(1) { ["parent"]=> array(1) { ["name"]=> string(6) "finish" } } } } [1]=> array(2) { ["title"]=> string(7) "fixture" ["items"]=> array(2) { [0]=> array(1) { ["parent"]=> array(1) { ["name"]=> string(7) "fixture" } } [1]=> array(1) { ["parent"]=> array(1) { ["name"]=> string(7) "fixture" } } } } }

preferences:
106.24 ms | 409 KiB | 5 Q