无限级分类列表

<?php
header("Content-type: text/html; charset=utf-8");
$arr = array(
    0=>array(‘Id‘=>1,‘Name‘=>‘文件管理‘,‘Pid‘=>0),
    1=>array(‘Id‘=>2,‘Name‘=>‘来源管理‘,‘Pid‘=>0),
    2=>array(‘Id‘=>3,‘Name‘=>‘文件添加‘,‘Pid‘=>1),
    3=>array(‘Id‘=>4,‘Name‘=>‘文件删除‘,‘Pid‘=>1),
    4=>array(‘Id‘=>5,‘Name‘=>‘人员列表‘,‘Pid‘=>2),
    5=>array(‘Id‘=>6,‘Name‘=>‘添加用户‘,‘Pid‘=>5),
    6=>array(‘Id‘=>7,‘Name‘=>‘编辑用户‘,‘Pid‘=>5),
);

function getTree($arr, $pid=0,$deep=0)
{
    static $tree = array();
    foreach($arr as $k=>$row)
    {
        if( $row[‘Pid‘] == $pid )
        {
            $row[‘deep‘] = $deep;
            $tree[] = $row;
            unset($arr[$k]);
            getTree($arr,$row[‘Id‘],$deep+1);
        }
    }
    return $tree;
}

$res = getTree($arr);
echo "<pre>";
print_r($res);

运行结果:

时间: 2024-07-29 10:14:33

无限级分类列表的相关文章

php利用递归函数实现无限级分类

相信很多学php的很多小伙伴都会尝试做一个网上商城作为提升自己技术的一种途径.各种对商品分类,商品名之类的操作应该是得心应手,那么就可以尝试下无限级分类列表的制作了. 什么是无限级分类? 无限级分类是一种分类技巧,例如部门组织,文章分类,学科分类等常用到无限级分类,将其简单理解成分类就好了.其实我们仔细想一下,生活中的分类简直太多了,衣服可以分为男装和女装,也可以分为上衣和裤子,也可以根据年龄段分类.分类无处不在,分类显得“无限”.我这里就不说无限分类的必要性了. 无限级分类原理简介 无限分类看

PHP利用递归函数实现无限级分类的方法_php技巧 - PHP

文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 相信很多学php的很多小伙伴都会尝试做一个网上商城作为提升自己技术的一种途径.各种对商品分类,商品名之类的操作应该是得心应手,那么就可以尝试下无限级分类列表的制作了. 什么是无限级分类? 无限级分类是一种分类技巧,例如部门组织,文章分类,学科分类等常用到无限级分类,将其简单理解成分类就好了.其实我们仔细想一下,生活中的分类简直太多了,衣服可以分为男装和女装,也可以分为上衣和裤子,也可以根据年龄段分类.分类无处不在,分

(实用篇)PHP递归实现无限级分类

在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性.那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类. 在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性.那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类. 递归,简单的说就是一段程序代码的重复调用,当把代码写到一个自定义函数中,将参数等变量保存,函数中重复调用函数,直到达到某个条件才跳出,返回相应的数据. 首先

php无限级分类实战——评论及回复功能

经常在各大论坛或新闻板块详情页面下边看到评论功能,当然不单单是直接发表评论内容那么简单, 可以对别人的评论进行回复,别人又可以对你的回复再次评论或回复,如此反复,理论上可以说是 没有休止,从技术角度分析很容易想到运用无限级分类技术存储数据,运用递归获取评论层级结构 数据,运用ajax实现评论页面交互,这里用thinkphp框架做个简单的demo练练手,为了简化流程 这里第三级评论不再提供回复功能,当然只要在这个基础上稍作修改就可以实现无限回复功能,主 要是view层样式修改较麻烦,需花些时间.

PHP无限级分类-递归(不推荐)

[http://www.helloweba.com/view-blog-204.html] 在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性.那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类. 在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性.那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类. 递归,简单的说就是一段程序代码的重复调用,当把代码写到一个自定义

Thinkphp的list_to_tree 实现无限级分类列出所有节点

list_to_tree 使用起来十分方便,详细可查看手册.因为我在用的时候需要同时列出所有节点,所以写了一个递归函数,拿出来供大家参考. public function index(){ Load('extend'); //加载扩展方法 $Category=D('Category'); $list=$Category->order('sort desc')->select();//实现同级节点排序 $list=list_to_tree($list,'id','fid'); //详细参数见手册

自制无限级分类算法。

JavaScript版: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <title></title> </head> <body> <script type="text/javascript"> var arr = { '1' : 0, '2' : 1,

PHP无限级分类的实现(不使用递归)

1.实现原理 2.数据结构 3.输出ul列表形式 4.输出option列表形式 5. 查找某一分类的所有子类 6. 查找某一分类的所有父类 7. 相关函数 无限级分类在开发中经常使用,例如:部门结构.文章分类.无限级分类的难点在于“输出”和“查询”,例如 将文章分类输出为<ul>列表形式: 查找分类A下面所有分类包含的文章. 1.实现原理 在<无限级分类实现思路>一文中介绍了几种常见的实现方法,各有利弊.其中“改进前序遍历树”数据结构,便于输出和查询,但是在移动分类和常规理解上有些

PHP递归实现无限级分类

在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性.那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类. 在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性.那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类. 递归,简单的说就是一段程序代码的重复调用,当把代码写到一个自定义函数中,将参数等变量保存,函数中重复调用函数,直到达到某个条件才跳出,返回相应的数据. My