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 Session及如何保持其不过期的方法

SESSION的实现中采用COOKIE技术,SESSION会在客户端保存一个包含session_id(SESSION编号)的COOKIE;在服务器端保存其他session变量,比如ses...

PHP实现适用于文件内容操作的分页类

本文实例为大家分享了PHP实现文件内容操作的分页类,强调一下只针对文件的操作,供大家参考,具体内容如下 <?php class StrPage { private...

php实现跨域提交form表单的方法【2种方法】

本文实例讲述了php实现跨域提交form表单的方法。分享给大家供大家参考,具体如下: 有时我们为了网站安全考虑,我们不允许直接跨域提交form表单数据,如果我们自己有这个需求呢?下面我们...

PHP中函数rand和mt_rand的区别比较

PHP函数rand和mt_rand    mt_rand() 比rand() 快四倍      很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且很慢。PHP 的 rand...

PHP简单创建日历的方法

PHP简单创建日历的方法

本文实例讲述了PHP简单创建日历的方法。分享给大家供大家参考,具体如下: <?php function build_calendar($month,$year) {...