function generateTree($items) { $items = Db::name('tree')->column('id,pid,name'); $tree = array(); foreach ($items as $item) { if (isset($items[$item['pid']])) { $items[$item['pid']]['son'][] = &$items[$item['id']]; } else { $tree[] = &$items[$item['id']]; } } return $tree; } $tree = generateTree(0); function getTreeData($tree) { foreach ($tree as $t) { echo "<li><span><i " . "class=\"icon-minus-sign\"></i>" .$t["name"]. "</span>\n<a href=\"info.php?id=".$t["id"]."\" target=\"_blank\">详细</a><ul>\n"; if (isset($t['son'])) { getTreeData($t['son']); } echo "</ul>\n</li>\n"; } } $list = getTreeData($tree); $this->assign('list',$list); return $this->view->fetch(); }
정적 파일은 이렇습니다
통제불능
으로 직접 출력됩니다. 변수
를 사용하여 한 레벨만 출력하면 더 이상은 나오지 않습니다.
스승님 글쓰는법 가르쳐주세요 감사합니다
통제할 수 없습니다. 이 함수는 에코됩니다. 에코를 삭제하면 변수를 사용하여 배열이 직접 반환됩니다.
뷰에서 직접 연결
페이지에 아무것도 쓰지 말고 컨트롤러에서 전송된 변수를 인쇄하여 변수가 무엇인지 확인하세요