我们知道数据库一般是以一个列表(id,pid)的形式保存树的.如何提取这棵树呢?最简单的方法就是根据pid循环查表.但是毫无疑问,这会产生巨大的数据库查询开销. 那么一般建议的方法是一次性将全部相关数据全查出来,但是这就涉及到一个问题,如何快速的构建一棵树. 我曾经一直以为,这是一个复杂的操作,至少需要一个递归,时间复杂度不会是O(n). 前段时间,一个工作上的需求,需要解决这个问题.我仔细想了想,发现完全可以通过单层循环解决这个问题,实现如下: function list2Tree($list…