考虑以下数组结构:
array(
55 => array(
'ident' => 'test 1',
'depth' => 1,
),
77 => array(
'parent_id' => 55,
'ident' => 'test 2',
'depth' => 2,
)
);
有没有通用的算法可以将它转换为嵌套树形结构?
即:
array(
55 => array(
'ident' => 'test 1',
'depth' => 1,
'children' => array(
77 => array(
'parent_id' => 55,
'ident' => 'test 2',
'depth' => 2,
)
)
)
);
我提供的示例很简化,实际情况包括数百个节点+最多达到15个深度。
O(n^2)
。想象一下有700个节点...递归“仅仅”需要大约250k次迭代(平均值),再加上函数调用通常也相对较慢,或者只需使用引用进行foreach循环的总共700次迭代...我认为在这一点上它开始产生显著差异。 - bwoebi