$v) { $newList[$v['id']] = $v; } foreach ($newList as $value) { if ($parentId == $value['parent_id']) { $tree[] = &$newList[$value['id']]; } elseif (isset($newList[$value['parent_id']])) { $newList[$value['parent_id']]['children'][] = &$newList[$value['id']]; } } return $tree; } }