3v4l.org

run code in 500+ PHP versions simultaneously
<?php $list = array( array('id' => 3, 'name' => 'Phones', 'parent_id' => 0,), array('id' => 256, 'name' => 'Accessories', 'parent_id' => 0,), array('id' => 308, 'name' => 'Appliances', 'parent_id' => 0,), array('id' => 1057, 'name' => 'Smart', 'parent_id' => 0,), array('id' => 1065, 'name' => 'Smart Phones', 'parent_id' => 3,), array('id' => 1066, 'name' => 'Feature Phones', 'parent_id' => 3,), array('id' => 1069, 'name' => 'Samsung', 'parent_id' => 1065,), array('id' => 1070, 'name' => 'Apple', 'parent_id' => 1065,), array('id' => 1072, 'name' => 'Apple', 'parent_id' => 1066,), array('id' => 1075, 'name' => 'Tablets', 'parent_id' => 0,), array('id' => 1076, 'name' => 'Samsung', 'parent_id' => 1066,), array('id' => 1077, 'name' => 'All Brands', 'parent_id' => 1075,), array('id' => 1078, 'name' => 'Samsung', 'parent_id' => 1077,), array('id' => 1079, 'name' => 'Protector', 'parent_id' => 256,), array('id' => 1080, 'name' => 'Power', 'parent_id' => 256,), array('id' => 1081, 'name' => 'Cable', 'parent_id' => 256,), array('id' => 1082, 'name' => 'Memory', 'parent_id' => 256,), ); function quote_make_tree($list, $deep = 1, $root = 0) { $tree = $packData = []; foreach ($list as $row) { $packData[$row['id']] = $row; } foreach ($packData as $key => $val) { if ($val['parent_id'] == $root) { $tree[] = &$packData[$key]; } else { $packData[$val['parent_id']]['children'][] = &$packData[$key]; } } return $tree; } $tree = quote_make_tree($list); print_r($tree);

Abusive script

This script was stopped while abusing our resources

Output for 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.34, 8.3.0 - 8.3.11
Array ( [0] => Array ( [id] => 3 [name] => Phones [parent_id] => 0 [children] => Array ( [0] => Array ( [id] => 1065 [name] => Smart Phones [parent_id] => 3 [children] => Array ( [0] => Array ( [id] => 1069 [name] => Samsung [parent_id] => 1065 ) [1] => Array ( [id] => 1070 [name] => Apple [parent_id] => 1065 ) ) ) [1] => Array ( [id] => 1066 [name] => Feature Phones [parent_id] => 3 [children] => Array ( [0] => Array ( [id] => 1072 [name] => Apple [parent_id] => 1066 ) [1] => Array ( [id] => 1076 [name] => Samsung [parent_id] => 1066 ) ) ) ) ) [1] => Array ( [id] => 256 [name] => Accessories [parent_id] => 0 [children] => Array ( [0] => Array ( [id] => 1079 [name] => Protector [parent_id] => 256 ) [1] => Array ( [id] => 1080 [name] => Power [parent_id] => 256 ) [2] => Array ( [id] => 1081 [name] => Cable [parent_id] => 256 ) [3] => Array ( [id] => 1082 [name] => Memory [parent_id] => 256 ) ) ) [2] => Array ( [id] => 308 [name] => Appliances [parent_id] => 0 ) [3] => Array ( [id] => 1057 [name] => Smart [parent_id] => 0 ) [4] => Array ( [id] => 1075 [name] => Tablets [parent_id] => 0 [children] => Array ( [0] => Array ( [id] => 1077 [name] => All Brands [parent_id] => 1075 [children] => Array ( [0] => Array ( [id] => 1078 [name] => Samsung [parent_id] => 1077 ) ) ) ) ) )

preferences:
40.1 ms | 1156 KiB | 7 Q