$mylist = array(
array( 'area_parent_id'=>0,'id'=>1,'area_name' => '河北',),
array( 'area_parent_id'=>0,'id'=>2,'area_name' => '山东',),
array( 'area_parent_id'=>0,'id'=>3,'area_name' => '辽宁',),
array( 'area_parent_id'=>2,'id'=>4,'area_name' => '济南',),
array( 'area_parent_id'=>2,'id'=>5,'area_name' => '德州',),
array( 'area_parent_id'=>3,'id'=>6,'area_name' => '沈阳',),
array( 'area_parent_id'=>3,'id'=>7,'area_name' => '大连',),
array( 'area_parent_id'=>4,'id'=>8,'area_name' => '济南县1',),
array( 'area_parent_id'=>5,'id'=>9,'area_name' => '德州县1',),
array( 'area_parent_id'=>5,'id'=>10,'area_name' => '德州县2',)
); $arr = array (
1 => array ( 'area_name' => '河北', 'area_parent_id' => '0', ),
2 => array ( 'area_name' => '山东', 'area_parent_id' => '0', ),
3 => array ( 'area_name' => '石家庄','area_parent_id' => '1',),
4 => array ( 'area_name' => '唐山','area_parent_id' => '1'),
5 => array ( 'area_name' => '济南','area_parent_id' => '2'),
6 => array ( 'area_name' => '青岛','area_parent_id' => '2'),
); function moreList($arr, $p_id){ //数据层级化,
$r = array();
foreach($arr as $key=>$val){
if($val['area_parent_id'] == $p_id) {
$length = count($r);//
$r[$length] = $val; if($t = moreList($arr,$val['id'])){//$key
$r[$length]['children'] = $t;
} }
}
return $r;
}
echo '<pre>';
print_r(moreList($mylist,0));//$arr
echo '</pre>';

php递归循环地区的更多相关文章

  1. c# 使用递归 循环遍历导航树结构 并解析

    1.数据书库结构 1 家用电器 0 一级菜单 2 手机.数码.京东通信 0 一级菜单 3 电脑.办公 0 一级菜单 4 家具.家居.厨房 0 一级菜单 5 男装.女装.童装.内衣 0 一级菜单 6 个 ...

  2. vue 树状图数据的循环 递归循环

    在main.js中注册一个子组件 在父组件中引用 树状图的数据格式 绑定一个数据传入子组件,子组件props接收数据 子组件中循环调用组件,就实现了递归循环

  3. C# TreeView,递归循环数据加载到treeView1中

    TblAreaBLL bll = new TblAreaBLL(); private void button1_Click(object sender, EventArgs e) { LoadData ...

  4. C# ASP.NET递归循环生成嵌套json结构树

    1. 建立用来保存树结构数据的目标对象 public class TreeObject { public string name { get; set; } public string value { ...

  5. 【剑指offer】递归循环两种方式反转链表

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/25737023 本文分别用非递归和递归两种方式实现了链表的反转,在九度OJ上AC. 题目描写 ...

  6. 递归循环JSON

    using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary ...

  7. python实现满二叉树递归循环

    一.二叉树介绍点这片文章 二叉树及题目介绍 例题: 有一颗满二叉树,每个节点是一个开关,初始全是关闭的,小球从顶点落下, 小球每次经过开关就会把它的状态置反,这个开关为关时,小球左跑,为开时右跑.现在 ...

  8. winform 递归循环阻止机构

    private void GetTree() { DataTable dt = new DataTable(); var sql = @" select OUID,ParentOUID,OU ...

  9. T-SQL with关键字 with as 递归循环表

    )SET @OrgId = N'901205CA-6C22-4EE7-AE4B-96CC7165D07F'; WITH Childs AS ( SELECT * FROM HROrgRelation ...

随机推荐

  1. python3 - pop 接收邮件/ smtp 发送邮件

    以下通过python3 实现接收和发送邮件,网上相关说明文档很多.请自己查阅,这里只写入代码, # 实例:通过poplib 模块接收指定账号的邮件并进行解码处理,结果可视化. #!/opt/pytho ...

  2. (1)sqlite基础

    一.安装sqlite 下载页面:http://www.sqlite.org/download.html 1.下载 sqlite-tools-win32-*.zip 和 sqlite-dll-win32 ...

  3. Extjs grid增加或删除列后记住滚动条的位置

    IE下验证好使. { text: "Del", icon: 'Scripts/Ext/resources/images/icons/application_form_delete. ...

  4. [转]Go的50坑:新Golang开发者要注意的陷阱、技巧和常见错误-高级

    from : https://levy.at/blog/11 进阶篇 关闭HTTP的响应 level: intermediate 当你使用标准http库发起请求时,你得到一个http的响应变量.如果你 ...

  5. linux查看 cpu及内存和硬盘使用情况的命令top

    使用时输入 top,退出时输入q http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316399.html 简介 top命令是Linux下常用的 ...

  6. mac os+selenium2+chrome驱动+python3

    mac os 10.11.5 mac自带python2.7,自己下载了python3.5,pip list查看系统中的安装包,本人电脑中已经安装了pip和setuptools,若未安装,请先使用 su ...

  7. Celery 启动报错 can_read() got an unexpected keyword argument timeout

    问题: Celery 启动报错 can_read() got an unexpected keyword argument timeout 方案:更改redis版本和celery版本,我使用下面的ce ...

  8. POJ2503字典树

    此代码原始出处:http://blog.csdn.net/cnyali/article/details/47367403 #include<stdio.h> #include<str ...

  9. Git以及github的使用方法(六),管理修改

    现在,假定你已经完全掌握了暂存区的概念.下面,我们要讨论的就是,为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件. 你会问,什么是修改?比如你新增了一行,这就是一个修改 ...

  10. PHP网站http替换https

      PHP网站http替换https