PHP按上下级层次关系输出内容
function getSubComments($parent = 0, $level = 0) { $db = &JFactory::getDBO(); $sql = "..."; // 查询记录的SQL $db->setQuery($sql); $rows = $db->loadObjectList(); $list = array(); // 先从数据得到记录集,再对记录添加level, 父层level = 0,它的下级level = 1,如此类推 foreach ($rows as $row) { $row->level = $level; $list[] = $row; $tmpArr = getSubComments($row->id, $level + 1); // 递归调用 if (count($tmpArr)) { foreach ($tmpArr as $tmpRow) { $list[] = $tmpRow; } } } return $list; } $list = array(); foreach ($tmpList as $row) { $row->level = 0; $list[] = $row; $tmpList2 = getSubComments($row->id, 1); foreach ($tmpList2 as $row2) { $list[] = $row2; } } // 按level分层次输出内容 if ($row->level) { $pre = ''; for ($n = 0; $n < $row->level; $n++) $pre .= '----'; echo $pre . '|- '; } echo strip_tags($row->content);