无限极分类 递归和迭代源码
来源:互联网 发布:正规淘宝小号购买平台 编辑:程序博客网 时间:2024/06/05 16:34
<?php
header('content-type:text/html;charset=utf-8');
$list=Array ( Array ( 'id' => 1 ,'name' => 'A' ,'pid' => 0 ) , Array ( 'id' => 2 ,'name' => 'B' ,'pid' => 0 ) , Array ( 'id' => 3 ,'name' => 'C' ,'pid' => 1 ), Array ( 'id' => 4 ,'name' => 'D' ,'pid' => 1 ) , Array ( 'id' => 5 ,'name' => 'E' ,'pid' => 2 ) , Array ( 'id' => 6 ,'name' => 'F' ,'pid' => 2 ) , Array ( 'id' => 7 ,'name' => 'G' ,'pid' => 3 ) , Array ( 'id' => 8 ,'name' => 'H' ,'pid' => 3 ) , Array ( 'id' => 9 ,'name' => 'I' ,'pid' => 3 ) , Array ( 'id' => 10 ,'name' => 'J' ,'pid' => 4 ) , Array ( 'id' => 11 ,'name' => 'K' ,'pid' => 4 ), Array ( 'id' => 12 ,'name' => 'L' ,'pid' => 4 ) , Array ( 'id' => 13 ,'name' => 'M' ,'pid' => 5 ) , Array ( 'id' => 14 ,'name' => 'N' ,'pid' => 5 ) , Array ( 'id' => 15 ,'name' => 'O' ,'pid' => 5 ) , Array ( 'id' => 16 ,'name' => 'P' ,'pid' => 6 ) , Array ( 'id' => 17 ,'name' => 'Q' ,'pid' => 6 ) , Array ( 'id' => 18 ,'name' => 'R' ,'pid' => 6 ) , Array ( 'id' => 19 ,'name' => 'S' ,'pid' => 6 ) , Array ( 'id' => 20 ,'name' => 'T' ,'pid' => 0 ) , Array ( 'id' => 21 ,'name' => 'U' ,'pid' => 20 ) , Array ( 'id' => 22 ,'name' => 'V' ,'pid' => 20 ) , Array ( 'id' => 23 ,'name' => 'W' ,'pid' => 21 ) , Array ( 'id' => 24 ,'name' => 'X' ,'pid' => 21 ) , Array ( 'id' => 25 ,'name' => 'Y' ,'pid' => 22 ) , Array ( 'id' => 26 ,'name' => 'Z' ,'pid' => 22 ) );
echo "递归<br>";
function getTree($list,$parent,$level=0)
{
$tree=array();
foreach ($list as $value) {
if ($value['pid']==$parent) {
$value['level']=$level;
$tree[]=$value;
$tree=array_merge($tree,getTree($list,$value['id'],$level+1));
}
}
return $tree;
}
$data=getTree($list,0);
foreach ($data as $key => $value) {
echo str_repeat("——",$value['level']),$value['name'],'<br>';
}
echo "<hr>","迭代";
function iterate($list,$parent)
{
$tree=array();
while ($parent>0) {
foreach ($list as $key => $value) {
if ($value['id']==$parent) {
$tree[]=$value;
$parent=$value['pid'];
break;
}
}
}
return $tree;
}
var_dump(iterate($list,26));
?>
header('content-type:text/html;charset=utf-8');
$list=Array ( Array ( 'id' => 1 ,'name' => 'A' ,'pid' => 0 ) , Array ( 'id' => 2 ,'name' => 'B' ,'pid' => 0 ) , Array ( 'id' => 3 ,'name' => 'C' ,'pid' => 1 ), Array ( 'id' => 4 ,'name' => 'D' ,'pid' => 1 ) , Array ( 'id' => 5 ,'name' => 'E' ,'pid' => 2 ) , Array ( 'id' => 6 ,'name' => 'F' ,'pid' => 2 ) , Array ( 'id' => 7 ,'name' => 'G' ,'pid' => 3 ) , Array ( 'id' => 8 ,'name' => 'H' ,'pid' => 3 ) , Array ( 'id' => 9 ,'name' => 'I' ,'pid' => 3 ) , Array ( 'id' => 10 ,'name' => 'J' ,'pid' => 4 ) , Array ( 'id' => 11 ,'name' => 'K' ,'pid' => 4 ), Array ( 'id' => 12 ,'name' => 'L' ,'pid' => 4 ) , Array ( 'id' => 13 ,'name' => 'M' ,'pid' => 5 ) , Array ( 'id' => 14 ,'name' => 'N' ,'pid' => 5 ) , Array ( 'id' => 15 ,'name' => 'O' ,'pid' => 5 ) , Array ( 'id' => 16 ,'name' => 'P' ,'pid' => 6 ) , Array ( 'id' => 17 ,'name' => 'Q' ,'pid' => 6 ) , Array ( 'id' => 18 ,'name' => 'R' ,'pid' => 6 ) , Array ( 'id' => 19 ,'name' => 'S' ,'pid' => 6 ) , Array ( 'id' => 20 ,'name' => 'T' ,'pid' => 0 ) , Array ( 'id' => 21 ,'name' => 'U' ,'pid' => 20 ) , Array ( 'id' => 22 ,'name' => 'V' ,'pid' => 20 ) , Array ( 'id' => 23 ,'name' => 'W' ,'pid' => 21 ) , Array ( 'id' => 24 ,'name' => 'X' ,'pid' => 21 ) , Array ( 'id' => 25 ,'name' => 'Y' ,'pid' => 22 ) , Array ( 'id' => 26 ,'name' => 'Z' ,'pid' => 22 ) );
echo "递归<br>";
function getTree($list,$parent,$level=0)
{
$tree=array();
foreach ($list as $value) {
if ($value['pid']==$parent) {
$value['level']=$level;
$tree[]=$value;
$tree=array_merge($tree,getTree($list,$value['id'],$level+1));
}
}
return $tree;
}
$data=getTree($list,0);
foreach ($data as $key => $value) {
echo str_repeat("——",$value['level']),$value['name'],'<br>';
}
echo "<hr>","迭代";
function iterate($list,$parent)
{
$tree=array();
while ($parent>0) {
foreach ($list as $key => $value) {
if ($value['id']==$parent) {
$tree[]=$value;
$parent=$value['pid'];
break;
}
}
}
return $tree;
}
var_dump(iterate($list,26));
?>
0 0
- 无限极分类 递归和迭代源码
- 无限级分类 递归和迭代
- php迭代和递归求子地区无限级分类数组
- 递归无限极分类
- 递归无限极分类
- 递归无限极分类
- 递归-无限极分类
- 使用PHP引用实现无限分类思路(非递归迭代)
- 无限极分类递归排序
- php递归无限极分类
- 递归实现无限极分类
- 递归实现无限极分类
- 利用引用和递归实现无限极分类
- 以迭代(非递归)方式获取无限分类中所有的最后一层子节点数据
- 递归和迭代
- 递归和迭代
- 递归和迭代
- 递归和迭代
- 三大框架SSH成长路程(十七)
- SQL 在OPENQUERY中使用参数
- Golden Goose Soldes light Nan Nian rise
- 全方向天线 偶极振子天线
- 开始写博客了!
- 无限极分类 递归和迭代源码
- 机器学习练习(三)——逻辑回归
- 未来的计划
- storyboard 设置UIbutton border Color
- 自行车人生
- 访问者模式
- 面向对象和面向过程的区别
- 微信公众平台开发-UnionID
- Linux下的网络配置