温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

夺命雷公狗---无限极分类NO2

发布时间:2020-06-13 15:47:14 来源:网络 阅读:387 作者:夺命雷公狗 栏目:开发技术
<?php
	header("Content-Type:text/html;charset=utf-8");
	/*
		无限级分类。牵扯2个应用
		0是-找指定栏目的子栏目
		1是-找指定栏目的子孙栏目,即子孙树
		2是-找指定栏目的父栏目/父父栏目....顶级栏目,即家谱树
	*/
	$aarr = array(
		array('id'=>1,'name'=>'安徽','pid'=>0),
		array('id'=>2,'name'=>'海淀','pid'=>7),
		array('id'=>3,'name'=>'浣溪县','pid'=>5),
		array('id'=>4,'name'=>'昌平','pid'=>7),
		array('id'=>5,'name'=>'淮北','pid'=>1),
		array('id'=>6,'name'=>'朝阳','pid'=>7),
		array('id'=>7,'name'=>'北京','pid'=>0),
		array('id'=>8,'name'=>'上地','pid'=>2)
	);
	
	
	//用到静态变量,找子孙树
	function subtree($arr,$id=0,$lev=1){
		static $subs = array(); //子孙数组
		foreach($arr as $v){
			if($v['pid'] == $id){
				$v['lev'] = $lev;
				$subs[] = $v;////举例说找到array('id'=>1,'name'=>'安徽','pid'=>0);
				subtree($arr,$v['id'],$lev+1); //让他递归遍历里面的数组
			}
		}
		return $subs;
	}
	//echo "<pre>";
	//print_r(subtree($aarr,0,1));
	$tree = subtree($aarr,0,1);
	foreach($tree as $v){
		echo str_repeat('&nbsp;&nbsp;&nbsp;',$v['lev']).$v['name'].'<br/>';
	}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI