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正则删除html代码中a标签并保留标签内容的方法 原创

本文实例讲述了PHP正则删除html代码中a标签并保留标签内容的方法。分享给大家供大家参考,具体如下: 一、问题: 有HTML代码如: <div>欢迎访问【宜配屋www....

浅析php-fpm静态和动态执行方式的比较

本文实例讲述了php-fpm静态和动态执行方式的比较。分享给大家供大家参考,具体如下: 前段时间配置php-fpm的时候,无意间发现原来他还有两种执行方式。与Apache一样,他的进程数...

PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT

PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT

PHP屏蔽蜘蛛访问代码代码: 常用搜索引擎名与 HTTP_USER_AGENT对应值 百度baiduspider 谷歌googlebot 搜狗sogou 腾讯SOSOsosospide...

php中array_unshift()修改数组key注意事项分析

本文实例分析了php中array_unshift()修改数组key注意事项。分享给大家供大家参考,具体如下: 众所周知,array_unshift()用来在数组的开头添加元素,但今天突然...

PHP 分页原理分析,大家可以看看

1、前言 分页显示是一种非常常见的浏览和显示大量数据的方法,属于web编程中最常处理的事件之一。对于web编程的老手来说,编写这种代码实在是和呼吸一样自然,但是对于初学者来说,常常对...