3v4l.org

run code in 300+ PHP versions simultaneously
<?php $categories = array( array( 'parent_id' => 0, 'categories_id' => 1, ), array( 'parent_id' => 0, 'categories_id' => 2, ), array( 'parent_id' => 1, 'categories_id' => 11, ), array( 'parent_id' => 1, 'categories_id' => 111, ), array( 'parent_id' => 2, 'categories_id' => 22, ), ); $tree = array(); foreach ($categories as $category) { $tree = &build($category, $tree); } // var_export($tree); function &build($category, &$tree = array()) { if ($category['parent_id'] == 0) { $category = array( $category['categories_id'] => $category, ); $tree = array_merge($tree, $category); return $tree; } foreach ($tree as $cate_id => $cate) { var_dump($tree); if ($category['parent_id'] == $cate_id) { $tree[$cate_id]['childs'] = $category; } if (is_array($cate)) { return build($cate, $tree); } } return $tree; }
Output for 5.6.38, 7.0.33, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
array(2) { [0]=> array(2) { ["parent_id"]=> int(0) ["categories_id"]=> int(1) } [1]=> array(2) { ["parent_id"]=> int(0) ["categories_id"]=> int(2) } } array(3) { [0]=> array(2) { ["parent_id"]=> int(0) ["categories_id"]=> int(1) } [1]=> array(2) { ["parent_id"]=> int(0) ["categories_id"]=> int(2) } [2]=> array(2) { ["parent_id"]=> int(0) ["categories_id"]=> int(1) } } array(4) { [0]=> array(2) { ["parent_id"]=> int(0) ["categories_id"]=> int(1) } [1]=> array(2) { ["parent_id"]=> int(0) ["categories_id"]=> int(2) } [2]=> array(2) { ["parent_id"]=> int(0) ["categories_id"]=> int(1) } [3]=> array(2) { ["parent_id"]=> int(0) ["categories_id"]=> int(1) } }
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 array(2) { [0]=> array(2) { ["parent_id"]=> int(0) ["categories_id"]=> int(1) } [1]=> array(2) { ["parent_id"]=> int(0) ["categories_id"]=> int(2) } } array(3) { [0]=> array(2) { ["parent_id"]=> int(0) ["categories_id"]=> int(1) } [1]=> array(2) { ["parent_id"]=> int(0) ["categories_id"]=> int(2) } [2]=> array(2) { ["parent_id"]=> int(0) ["categories_id"]=> int(1) } } array(4) { [0]=> array(2) { ["parent_id"]=> int(0) ["categories_id"]=> int(1) } [1]=> array(2) { ["parent_id"]=> int(0) ["categories_id"]=> int(2) } [2]=> array(2) { ["parent_id"]=> int(0) ["categories_id"]=> int(1) } [3]=> array(2) { ["parent_id"]=> int(0) ["categories_id"]=> int(1) } }

preferences:
162.13 ms | 403 KiB | 180 Q