php可应用于面包屑导航的递归寻找家谱树实现方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php可应用于面包屑导航的递归寻找家谱树实现方法。分享给大家供大家参考。具体实现方法如下:

<?php
echo "<pre>";
$area = array(
array('id'=>1,'area'=>'北京','pid'=>0),
array('id'=>2,'area'=>'广西','pid'=>0),
array('id'=>3,'area'=>'广东','pid'=>0),
array('id'=>4,'area'=>'福建','pid'=>0),
array('id'=>11,'area'=>'朝阳区','pid'=>1),
array('id'=>12,'area'=>'海淀区','pid'=>1),
array('id'=>21,'area'=>'南宁市','pid'=>2),
array('id'=>45,'area'=>'福州市','pid'=>4),
array('id'=>113,'area'=>'亚运村','pid'=>11),
array('id'=>115,'area'=>'奥运村','pid'=>11),
array('id'=>234,'area'=>'武鸣县','pid'=>21)
); 

function familytree($arr,$id){
 static $list = array();
 foreach($arr as $v){
 if($v['id']==$id){
  familytree($arr,$v['pid']);
  $list[] = $v;
 }
 }
 return $list;
}
print_r(familytree($list,113));
?>

希望本文所述对大家的php程序设计有所帮助。

相关文章

PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)

废话不多少,上代码复制代码 代码如下: // 获取指定日期所在星期的开始时间与结束时间 function getWeekRange($date){ &nbs...

php rmdir使用递归函数删除非空目录实例详解

 首先向大家介绍一下rmdir()函数。 php rmdir()函数 rmdir — 删除空目录 语法: bool rmdir ( string $dirname [, res...

php计算给定时间之前的函数用法实例

本文实例讲述了php计算给定时间之前的函数用法。分享给大家供大家参考。具体如下: 这里给定一个时间,计算这个时间在多久前,比如:2天前,1年前 <?php functi...

php遍历类中包含的所有元素的方法

本文实例讲述了php遍历类中包含的所有元素的方法。分享给大家供大家参考。具体分析如下: 这里可获得php类包含的所有元素以key-value的形式输出 class MyTestCla...

PHP一些常用的正则表达式字符的一些转换

匹配双字节字符(包括汉字在内): [^\x00-\xff]    应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)  String.pr...