3v4l.org

run code in 300+ PHP versions simultaneously
<?php $categorizedOptions = [ 'category' => [ '1' => [ 'name' => 'c1', 'attribute' => [ '1' => [ 'name' => 'a1', 'option' => [ '1' => [ 'name' => 'o1' ], '2' => [ 'name' => 'o2' ] ] ], '2' => [ 'name' => 'a2', 'option' => [ '3' => [ 'name' => 'o3' ], '4' => [ 'name' => 'o4' ] ] ] ] ], '2' => [ 'name' => 'c2', 'attribute' => [ '3' => [ 'name' => 'a3', 'option' => [ '5' => [ 'name' => 'o5' ], '6' => [ 'name' => 'o6' ] ] ], '4' => [ 'name' => 'a4', 'option' => [ '7' => [ 'name' => 'o7' ], '8' => [ 'name' => 'o8' ] ] ] ] ] ] ]; $final = []; foreach ($categorizedOptions as $categories) { foreach ($categories as $category => ['name' => $categoryname, 'attribute' => $attributes]) { foreach ($attributes as $attribute => ['name' => $attributename, 'option' => $options]) { foreach ($options as $option => ['name' => $optionname]) { $final[] = compact(['category', 'categoryname', 'attribute', 'attributename', 'option', 'optionname']); } } } } var_export($final);
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
array ( 0 => array ( 'category' => 1, 'categoryname' => 'c1', 'attribute' => 1, 'attributename' => 'a1', 'option' => 1, 'optionname' => 'o1', ), 1 => array ( 'category' => 1, 'categoryname' => 'c1', 'attribute' => 1, 'attributename' => 'a1', 'option' => 2, 'optionname' => 'o2', ), 2 => array ( 'category' => 1, 'categoryname' => 'c1', 'attribute' => 2, 'attributename' => 'a2', 'option' => 3, 'optionname' => 'o3', ), 3 => array ( 'category' => 1, 'categoryname' => 'c1', 'attribute' => 2, 'attributename' => 'a2', 'option' => 4, 'optionname' => 'o4', ), 4 => array ( 'category' => 2, 'categoryname' => 'c2', 'attribute' => 3, 'attributename' => 'a3', 'option' => 5, 'optionname' => 'o5', ), 5 => array ( 'category' => 2, 'categoryname' => 'c2', 'attribute' => 3, 'attributename' => 'a3', 'option' => 6, 'optionname' => 'o6', ), 6 => array ( 'category' => 2, 'categoryname' => 'c2', 'attribute' => 4, 'attributename' => 'a4', 'option' => 7, 'optionname' => 'o7', ), 7 => array ( 'category' => 2, 'categoryname' => 'c2', 'attribute' => 4, 'attributename' => 'a4', 'option' => 8, 'optionname' => 'o8', ), )

preferences:
132.44 ms | 411 KiB | 5 Q