Для получения полного доступа
зарегистрируйтесь

Creating a tree


I've been searching for a good way to form a tree. I think this one is ideal. Can you make it better?

private function buildTree($data)
{
	$tree       = [];
	$references = [];

	foreach ($data as $id => &$node) {
		$references[$node['id']] = &$node;
		$node['children'] = [];

		if (is_null($node['parent_id'])) {
			$tree[] = &$node;
		} else {
			$references[$node['parent_id']]['children'][] = &$node;
		}
	}

	return $tree;
}

Чтобы увидеть комментарии, нужно быть участником сообщества

Регистрация