1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
| <?php namespace app\controller; class Category { protected static function arr() { $rows = [ [ 'id' => '1', 'name' => '一级菜单', 'pid' => '0', 'path' => '0', ], [ 'id' => '2', 'name' => '二级菜单', 'pid' => '0', 'path' => '0', ], [ 'id' => '3', 'name' => '一级菜单-1', 'pid' => '1', 'path' => '0-1', ], [ 'id' => '4', 'name' => '二级菜单-1', 'pid' => '2', 'path' => '0-2', ], [ 'id' => '5', 'name' => '一级菜单-1-1', 'pid' => '3', 'path' => '0-1-3', ], [ 'id' => '6', 'name' => '二级菜单-1-1', 'pid' => '4', 'path' => '0-2-4', ], [ 'id' => '7', 'name' => '二级菜单-1-2', 'pid' => '4', 'path' => '0-2-4', ], [ 'id' => '8', 'name' => '三级菜单', 'pid' => '0', 'path' => '0', ], [ 'id' => '9', 'name' => '二级菜单-1-3', 'pid' => '4', 'path' => '0-2-4-6', ], [ 'id' => '10', 'name' => '三级菜单-1', 'pid' => '8', 'path' => '0-8', ], [ 'id' => '11', 'name' => '一级菜单-1-4', 'pid' => '5', 'path' => '0-8', ], ]; return $rows; }
public function index() { $list = $this->build_tree(0); return json($list); }
public function findChild($list, $id) { $child = []; foreach ($list as $key => $item) { if ($item['pid'] == $id) { $child[] = $item; } } return $child; }
public function build_tree($root_id) { $list = $this->arr(); $tree = $this->findChild($list, $root_id); if (empty($tree)) { return null; } foreach ($tree as $key => $item) { $child = $this->build_tree($item['id']); if ($child != null){ $tree[$key]['child'] = $child; } } return $tree; } }
|