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(); }
Le fichier statique est comme ça
Il est directement sorti vers
hors de contrôle. Si vous utilisez des variables
pour ne sortir qu'un seul niveau, il n'y en aura plus.
. Maîtres, s'il vous plaît, apprenez-moi à écrire, merci.
Vous n'êtes pas hors de contrôle, cette fonction fait écho, supprimez simplement l'écho, et le tableau est renvoyé directement en utilisant des variables
En l'épissant directement dans la vue
N'écrivez rien sur la page, imprimez simplement les variables transférées depuis le contrôleur pour voir ce qu'elles sont