php分类递归类,PHP无限分类(递归)
'1',
'name'=>'php技术',
'pid'=>'0',
'path'=>'0',
),
array(
'id'=>'2',
'name'=>'linux技术',
'pid'=>'0',
'path'=>'0',
),
array(
'id'=>'3',
'name'=>'Thinkphp',
'pid'=>'1',
'path'=>'0-1',
),
array(
'id'=>'4',
'name'=>'系统安装',
'pid'=>'2',
'path'=>'0-2',
),
array(
'id'=>'5',
'name'=>'文件上传',
'pid'=>'3',
'path'=>'0-1-3',
),
array(
'id'=>'6',
'name'=>'硬盘分区',
'pid'=>'4',
'path'=>'0-2-4',
),
array(
'id'=>'7',
'name'=>'软件安装',
'pid'=>'4',
'path'=>'0-2-4',
),
array(
'id'=>'8',
'name'=>'JAVA技术',
'pid'=>'0',
'path'=>'0',
),
array(
'id'=>'9',
'name'=>'分区格式化',
'pid'=>'4',
'path'=>'0-2-4-6',
),
array(
'id'=>'10',
'name'=>'JAVA基础',
'pid'=>'8',
'path'=>'0-8',
),
);
// 递归子级
function findchild(&$arr,$id){
$childs=array();
foreach ($arr as $key => $value) {
if($value['pid']==$id){
$childs[]=$value;
}
}
return $childs;
}
// 查找当前级别的子级
function build_tree($root_id){
global $rows;
$childs=findchild($rows,$root_id);
if(empty($childs)){
return null;
}
foreach ($childs as $key => $value) {
$rescurTree=build_tree($value['id']);
if(null != $rescurTree){
$childs[$key]['childs']=$rescurTree;
}
}
return $childs;
}
$trees=build_tree(0);
echo "";
print_r($trees);
echo "";
function show($trees){
$pre='';
$str='';
foreach ($trees as $tree) {
if($tree['pid']>0){
$pre='| '.str_repeat(' - ', substr_count($tree['path'],'-'));
}
$str.=$pre.$tree['name'].'
';
if(isset($tree['childs'])){
$str.=show($tree['childs']);
}
}
return $str;
}
echo show($trees);
?>
// $trees数组结构为
Array
(
[0] => Array
(
[id] => 1
[name] => php技术
[pid] => 0
[path] => 0
[childs] => Array
(
[0] => Array
(
[id] => 3
[name] => Thinkphp
[pid] => 1
[path] => 0-1
[childs] => Array
(
[0] => Array
(
[id] => 5
[name] => 文件上传
[pid] => 3
[path] => 0-1-3
)
)
)
)
)
[1] => Array
(
[id] => 2
[name] => linux技术
[pid] => 0
[path] => 0
[childs] => Array
(
[0] => Array
(
[id] => 4
[name] => 系统安装
[pid] => 2
[path] => 0-2
[childs] => Array
(
[0] => Array
(
[id] => 6
[name] => 硬盘分区
[pid] => 4
[path] => 0-2-4
)
[1] => Array
(
[id] => 7
[name] => 软件安装
[pid] => 4
[path] => 0-2-4
)
[2] => Array
(
[id] => 9
[name] => 分区格式化
[pid] => 4
[path] => 0-2-4-6
)
)
)
)
)
[2] => Array
(
[id] => 8
[name] => JAVA技术
[pid] => 0
[path] => 0
[childs] => Array
(
[0] => Array
(
[id] => 10
[name] => JAVA基础
[pid] => 8
[path] => 0-8
)
)
)
)
// $trees输出结果为
php技术
| - Thinkphp
| - - 文件上传
linux技术
| - 系统安装
| - - 硬盘分区
| - - 软件安装
| - - - 分区格式化
JAVA技术
| - JAVA基础
php分类递归类,PHP无限分类(递归)相关推荐
- php mysql 分类_php+mysql实现无限分类实例详解
本文实例讲述了php+mysql实现无限分类的方法.分享给大家供大家参考.具体分析如下: 1.数据库通过设置父类ID来进行唯一索引,然后使用函数的递归调用实现无限分类: 2.数据库设计通过特定格式进行 ...
- Php获取分类等级,PHP获取无限分类的完整等级列表
无限分类其实描述的是成员间的上下级关系.假如一共有五个级别,针对数据描述起来就是个五维数组,这样的数组就完全没有数组的实际价值和意义.这里要讨论的是最终显示出完整的上下级关系,比如: 总经理 技术总监 ...
- mysql 存储过程 无限分类_mysql存储过程实现无限分类
DROP TABLE IF EXISTS `pcms_channel`; CREATE TABLE IF NOT EXISTS `pcms_channel` ( `cid` tinyint(3) un ...
- php 循环获取分类,PHP 循环删除无限分类子节点
private function _deleteSubNode($ids){ $subNodes = array(); $mod = D('Node'); foreach (explode ( ',' ...
- 关于PHP各种循环,关于php迭代循环(无限分类)
看了四年之前写的关于迭代循环的一片文章,已经完全看不懂了,不是逻辑难,而是没有注释,格式不规范,各种不细心,而且没有思路讲解,让人一头雾水.好的介绍是什么?让人看注释就能明白你要干什么,甚至都不用看代 ...
- php无限极下拉框,php递归实现无限分类生成下拉列表的函数
代码如下: /*------------------ */ //– 递归实现无限分类生成下拉列表函数 //– $tpl->assign('sort_list',createSortOptions ...
- php 非递归调用,php 无限分类(非递归)
/** * 无限分类 * 2011/8/24 * kcj * */ include "../conn/conn.php"; $flpid=$_POST['flpid']; $flt ...
- php生成option,php递归实现无限分类生成下拉列表的函数
/*------------------ */ //– 递归实现无限分类生成下拉列表函数 //– $tpl->assign('sort_list',createSortOptions ()); ...
- 可能存在无限递归_无限分类递归+排序解剖
首先我们先了解一下递归函数: 递归函数在语言学习的时候会单独拿出来学习,因为它非常常用,本质上来讲递归函数就是调用自己的函数. 举个例子: test函数里面又再调用了自身,这就是俗称的递归函数!递归函 ...
最新文章
- Bottle源码阅读(3) HeaderDict
- 翻译: Oralce官方文档-- Data Blocks, Extents, and Segments
- Java开发知识之Java面相对象
- Android和ios速度,不拼硬件拼体验 Android和iOS系统的加载速度测验
- 语音视频社交背后技术深度解析
- idea 无法打开项目_Premiere出现quot;项目看来已经损坏,无法打开”的解决方法...
- linux nfs 配置_centos7 NFS 配置
- [html] 本地存储和cookie之间的区别是什么?
- Scala-trait
- 开源2D图形库/图形框架
- 电脑爱好者 2008年第24期 12月下
- 对数学建模有帮助的app—1checker
- python爬虫论文总结与展望怎么写_论文总结与展望怎么写
- 谈谈PRNU 光响应非均匀性
- 使用esp32 作为蓝牙鼠标和键盘以及坑
- iOS Instrument使用之Core Animation(图形性能)
- android 电池续航时间,高端Android手机电池续航排行榜Droid居榜首
- 请编写函数实现自然底数 e=2.718281828
- MLY翻译 -- 1.Why Machine Learning Strategy?
- lap 加MySQL主从复制_LAP+mysql-主从+redis