首页 > 语言 > PHP > 正文

PHP递归遍历多维数组实现无限分类的方法

2024-05-04 23:45:38
字体:
来源:转载
供稿:网友
这篇文章主要介绍了PHP递归遍历多维数组实现无限分类的方法,涉及PHP递归操作遍历数组的相关技巧,在联动菜单及父子栏目设计等方面非常具有实用价值,需要的朋友可以参考下
 

本文实例讲述了PHP递归遍历多维数组实现无限分类的方法。分享给大家供大家参考,具体如下:

<?php   //$data[]=array('id'=>1,'parentid'=>0,'name'=>'中国','img'=>'52091199');   $data[]=array('id'=>1,'parentid'=>0,'name'=>'中国');   $data[]=array('id'=>2,'parentid'=>0,'name'=>'美国');   $data[]=array('id'=>3,'parentid'=>0,'name'=>'韩国');   $data[]=array('id'=>4,'parentid'=>1,'name'=>'北京');   $data[]=array('id'=>5,'parentid'=>1,'name'=>'上海');   $data[]=array('id'=>6,'parentid'=>1,'name'=>'广西');   $data[]=array('id'=>7,'parentid'=>6,'name'=>'桂林');   $data[]=array('id'=>8,'parentid'=>6,'name'=>'南宁');   $data[]=array('id'=>9,'parentid'=>6,'name'=>'柳州');   $data[]=array('id'=>10,'parentid'=>2,'name'=>'纽约');   $data[]=array('id'=>11,'parentid'=>2,'name'=>'华盛顿');   $data[]=array('id'=>12,'parentid'=>3,'name'=>'首尔');   $tree=build_tree($data,0);   //echo memory_get_usage();   print_r($tree); function findChild(&$arr,$id){  $childs=array();  foreach ($arr as $k => $v){   if($v['parentid']== $id){    $childs[]=$v;   }  }  return $childs; } function build_tree($rows,$root_id){  $childs=findChild($rows,$root_id);  if(empty($childs)){   return null;  } foreach ($childs as $k => $v){  $rescurTree=build_tree($rows,$v['id']);  if( null != $rescurTree){  $childs[$k]['childs']=$rescurTree;  } }  return $childs; }?>

运行结果:

Array( [0] => Array  (   [id] => 1   [parentid] => 0   [name] => 中国   [childs] => Array    (     [0] => Array      (       [id] => 4       [parentid] => 1       [name] => 北京      )     [1] => Array      (       [id] => 5       [parentid] => 1       [name] => 上海      )     [2] => Array      (       [id] => 6       [parentid] => 1       [name] => 广西       [childs] => Array        (         [0] => Array          (           [id] => 7           [parentid] => 6           [name] => 桂林          )         [1] => Array          (           [id] => 8           [parentid] => 6           [name] => 南宁          )         [2] => Array          (           [id] => 9           [parentid] => 6           [name] => 柳州          )        )      )    )  ) [1] => Array  (   [id] => 2   [parentid] => 0   [name] => 美国   [childs] => Array    (     [0] => Array      (       [id] => 10       [parentid] => 2       [name] => 纽约      )     [1] => Array      (       [id] => 11       [parentid] => 2       [name] => 华盛顿      )    )  ) [2] => Array  (   [id] => 3   [parentid] => 0   [name] => 韩国   [childs] => Array    (     [0] => Array      (       [id] => 12       [parentid] => 3       [name] => 首尔      )    )  ))


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选