【PHP】php实现的无限极分类

PHP,代码片段 2020-03-31

上代码

<?php

$rows = array(
  array(
    'id' => 1,
    'name' => 'dev',
    'parentid' => 0
  ),

  array(
    'id' => 2,
    'name' => 'php',
    'parentid' => 1
  ),

  array(
    'id' => 3,
    'name' => 'thinkphp',
    '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
  )
);


$tree=build_tree($arr,0);
print_r($tree);


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;
}


function findChild($arr,$id){
  $childs=array();
   foreach ($arr as $k => $v){
     if($v['parentid']== $id){
       $childs[]=$v;
     }
  }
  return $childs;
}


?>

帅气的楼主关闭了评论