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 t($arr,$pid=0,$lev=0){
 static $list = array();
 foreach($arr as $v){
 if($v['pid']==$pid){
  echo str_repeat("  ",$lev).$v['area']."<br />";
  //这里输出,是为了看效果
  $list[] = $v;
  t($arr,$v['id'],$lev+1);
 } 
 }
 return $list;
}
$list = t($area);
echo "<hr >";
print_r($list);
?>

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

相关文章

php实现仿写CodeIgniter的购物车类

本文实例讲述了php实现仿写CodeIgniter的购物车类。分享给大家供大家参考。具体如下: 这里仿写CodeIgniter的购物车类 购物车基本功能: 1) 将物品加入购物车 2)...

PHP strip_tags()去除HTML、XML以及PHP的标签介绍

语法:strip_tags(string,allow);string必需,规定要检查的字符串。allow可选,规定允许的标签,这些标签不会被删除。注释:该函数始终会剥离HTML注释,这点...

PHP中生成UUID自定义函数分享

UUID 全称是 Universally unique identifier,它是一种识别符,使用任意的计算机都可以生成,不需要一个中央数据库进行管理,即可以保证几乎没有重复的几率。而...

PHP设计模式之代理模式的深入解析

PHP设计模式之代理模式的深入解析

代理模式(Proxy),它是对简单处理程序(或指针)的增强,用于引用一个对象:这个指针被代理(Proxy)对象取代,代理对象位于客户端(Client)和真实执行程序之间,指针有一个可被多...

PHP删除目录及目录下所有文件的方法详解

函数代码一:删除目录及目录下的所有文件复制代码 代码如下://循环删除目录和文件函数function delDirAndFile( $dirName ){if ( $handle = o...