无限极

无限极分类

左心房为你撑大大i 提交于 2020-02-11 13:08:07
function generateTree($data){ $items = array(); foreach($data as $v){ $items[$v['auth_id']] = $v; } $tree = array(); foreach($items as $k => $item){ //用遍历每一项的pid来判别,判别$item这条数据有上级,且上级为id为pid的这条数据,当前的key应该为item这条数据的id if(isset($items[$item['auth_pid']])){ $items[$item['auth_pid']]['son'][] = &$items[$k]; }else{ $tree[] = &$items[$k]; } } return $tree; } id pid 116 100 200 116 234 200 $tree[0]=&$items[116] $items[$item['auth_pid']]['son'][] = &$items[$k]; $items[116]['son'][0]=&items[200] $items[200]['son'][0]=&items[234] 无限极分类 来源: https://www.cnblogs.com/mofei12138/p/12294475.html

php无限极分类

守給你的承諾、 提交于 2019-12-25 19:01:46
1 $arr = array( 2 0=>array( 3 'cid'=>1, 4 'pid'=>0, 5 'name'=>'亚洲', 6 ), 7 1=>array( 8 'cid'=>2, 9 'pid'=>0, 10 'name'=>'北美洲', 11 ), 12 2=>array( 13 'cid'=>3, 14 'pid'=>1, 15 'name'=>'中国', 16 ), 17 3=>array( 18 'cid'=>4, 19 'pid'=>2, 20 'name'=>'美国', 21 ), 22 4=>array( 23 'cid'=>5, 24 'pid'=>3, 25 'name'=>'北京', 26 ), 27 5=>array( 28 'cid'=>6, 29 'pid'=>3, 30 'name'=>'河北', 31 ), 32 6=>array( 33 'cid'=>7, 34 'pid'=>5, 35 'name'=>'东城区', 36 ), 37 7=>array( 38 'cid'=>8, 39 'pid'=>5, 40 'name'=>'海淀区', 41 ), 42 ); 1 private function GetTree($arr,$pid,$step){ 2 global $tree; 3 foreach($arr as $key=>

php 无限极

随声附和 提交于 2019-12-25 18:58:27
1,递归 public function getInfo(){ $data=$this->select(); $arr=$this->noLimit($data,$f_id=0,$level=0); return $arr; } //无限极分类 public function noLimit($data,$f_id=0,$level=0){ static $lists=array(); foreach($data as $key=>$v){   if($v['f_id']==$f_id){     $v['level']=$level;     $lists[]=$v;     $this->noLimit($data,$v['q_id'],$level+1);   } } return $lists; } 2,普通 public function getInfo(){ $u_id=session('u_id'); $data=$this->join("user join user_role on user.u_id=user_role.u_id join role_quan on user_role.j_id=role_quan.j_id join quan on quan.q_id=role_quan.q_id")-> where("user.u_id=$u_id and

菜单无限极分类核心代码

心已入冬 提交于 2019-12-25 18:55:15
const TBL_CATE = "category"; /** * @access public * @param $pid 节点的id * @param array 返回该节点的所有后代节点 */ public function list_cate($pid = 0){ #获取所有的记录 $query = $this->db->get(self::TBL_CATE); $cates = $query->result_array(); #对类别进行重组,并返回 return $this->_tree($cates,$pid); } /** *@access private *@param $arr array 要遍历的数组 *@param $pid 节点的pid,默认为0,表示从顶级节点开始 *@param $level int 表示层级 默认为0 *@param array 排好序的所有后代节点 */ private function _tree($arr,$pid = 0,$level = 0){ static $tree = array(); #用于保存重组的结果,注意使用静态变量 foreach ($arr as $v) { if ($v['parent_id'] == $pid){ //说明找到了以$pid为父节点的子节点,将其保存 $v['level'] =

php之利用递归写无限极分类

情到浓时终转凉″ 提交于 2019-12-25 18:51:39
<?php //无限极分类 //parent 的值,是该栏目的父栏目的id 反之是 /*0 安徽 合肥 北京 海淀 中关村 上地 河北 石家庄 */ $area = array( array('id'=>1,'name'=>'安徽','parent'=>0), array('id'=>2,'name'=>'北京','parent'=>0), array('id'=>3,'name'=>'海淀','parent'=>2), array('id'=>4,'name'=>'中关村','parent'=>3), array('id'=>5,'name'=>'合肥','parent'=>1), array('id'=>6,'name'=>'上地','parent'=>3), array('id'=>7,'name'=>'河北','parent'=>0), array('id'=>8,'name'=>'石家庄','parent'=>7), ); /* 1.是找指定栏目的子孙栏目,即子孙树 2.是找指定栏目的父栏目/父父栏目……顶级栏目,即家谱树 */ //找子栏目 function findson($arr,$id=0) { //$id栏目的儿子有哪些呢? //A:数组循环一遍,谁的parent的值 = $id ,谁就是他的儿子 $sons = array(); //子栏目数组 foreach

Think PHP递归重新排序无限极子分类数组(递归无限极分类)

白昼怎懂夜的黑 提交于 2019-12-25 18:51:07
Think PHP递归重新排序无限极子分类数组 // 递归重新排序无限极子分类数组 function recursive($array,$pid=0,$level=0){ $arr = array(); foreach ($array as $v) { if($v['pid'] == $pid){ $v['level'] = $level; $v['html'] = str_repeat('--',$level); $arr[] = $v; $arr = array_merge($arr,recursive($array,$v['id'],$level+1)); } } return $arr; } 调用: public function index(){ $cateTopList = M('category')->select(); $cateTopList = recursive($cateTopList); $this->assign('cateTopList',$cateTopList); $this->display(); } 来源: https://www.cnblogs.com/e0yu/p/7351935.html

Mysql无限极分类 表结构设计

匿名 (未验证) 提交于 2019-12-02 22:06:11
简介 所谓无限极,即有无限多层等级。例如云盘的目录结构,可以一级一级存储,无限嵌套;商品所属分类等. 实现 用mysql实现一个无限极存储其实就是实现一个链表结构,使用指针指向下一个节点,至少要包含3个字段:id,name,nextIndex,其中nextIndex用来指向下一层级。 例子 1.实现云盘目录结构存储,需两张表:image图片信息表,imageIndex索引信息表 2.image表 id:主键 name:图片名称 url:图片路径 3.imageIndex表 id:主键 name:Ŀ¼ nextIndex:目录指向的下一层对应的元素的id type:类型,表示下一层是图片还是目录 这样就可以存储所有目录的层级结构了 文章来源: Mysql无限极分类 表结构设计

查询无限极分类

烈酒焚心 提交于 2019-11-28 17:26:36
1 /** 2 * User: finn.lee 3 * Date: 2016/3/5 14:25 4 */ 5 $rows = array( 6 0=>array( 7 'cat_id' => 1, 8 'name' => 'dev', 9 'pid' => 0 10 ), 11 1=>array( 12 'cat_id' => 2, 13 'name' => 'php', 14 'pid' => 1 15 ), 16 2=>array( 17 'cat_id' => 3, 18 'name' => 'smarty', 19 'pid' => 2 20 ), 21 3=>array( 22 'cat_id' => 4, 23 'name' => 'life', 24 'pid' => 0 25 ), 26 4=>array( 27 'cat_id' => 5, 28 'name' => 'pdo', 29 'pid' => 2 30 ), 31 5=>array( 32 'cat_id' => 6, 33 'name' => 'pdo-mysql', 34 'pid' => 5 35 ), 36 6=>array( 37 'cat_id' => 7, 38 'name' => 'java', 39 'pid' => 1 40 ) 41 ); 42 43 // 72648 44 /