php递归实现无限分类的方法

前端技术 2023/09/03 PHP

本文实例讲述了php递归实现无限分类的方法。分享给大家供大家参考。具体如下:

<?php
$rows = array(
  array(
    \'id\' => 1,
    \'name\' => \'dev\',
    \'parentid\' => 0
  ),
  array(
    \'id\' => 2,
    \'name\' => \'php\',
    \'parentid\' => 1
  ),
  array(
    \'id\' => 3,
    \'name\' => \'smarty\',
    \'parentid\' => 2
  ),
  array(
    \'id\' => 4,
    \'name\' => \'life\',
    \'parentid\' => 0
  ),
  array(
    \'id\' => 5,
    \'name\' => \'pdo\',
    \'parentid\' => 2
  ),
  array(
    \'id\' => 6,
    \'name\' => \'pdo-mysql\',
    \'parentid\' => 5
  ),
  array(
    \'id\' => 7,
    \'name\' => \'java\',
    \'parentid\' => 1
  )
);
// 72648
// 84072
function findChild(&$arr,$id){
  $childs=array();
   foreach ($arr as $k => $v){
     if($v[\'parentid\']== $id){
       $childs[]=$v;
     }
  }
  return $childs;
}
function build_tree($root_id){
  global $rows;
  $childs=findChild($rows,$root_id);
  if(empty($childs)){
    return null;
  }
  foreach ($childs as $k => $v){
    $rescurTree=build_tree($v[id]);
    if( null !=  $rescurTree){ 
    $childs[$k][\'childs\']=$rescurTree;
    }
  }
  return $childs;
}
$tree=build_tree(0);
echo memory_get_usage();
print_r($tree);
?>

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

本文地址:https://www.stayed.cn/item/6125

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。