如何在PHP中利用递归实现一个层级树状展开效果-创新互联
                                            这期内容当中小编将会给大家带来有关如何在PHP中利用递归实现一个层级树状展开效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

实现代码:
 $arr['id'],  
    'fid' => $arr['fid'], 
    'name' => $arr['name'],  
  ); 
} 
  
// 将数据按照缩进简单排列 见图1 
function data2arr($tree, $rootId = 0, $level = 0) { 
  foreach($tree as $leaf) { 
    if($leaf['fid'] == $rootId) { 
      echo str_repeat('    ', $level) . $leaf['id'] . ' ' . $leaf['name'] . '
'; 
      foreach($tree as $l) { 
        if($l['fid'] == $leaf['id']) { 
          data2arr($tree, $leaf['id'], $level + 1); 
          break; 
        } 
      } 
    } 
  } 
} 
  
data2arr($data); 
echo '
-----------------------------------------------------------------------
'; 
  
// 将数据按照所属关系封装 见图2 
function arr2tree($tree, $rootId = 0) { 
  $return = array(); 
  foreach($tree as $leaf) { 
    if($leaf['fid'] == $rootId) { 
      foreach($tree as $subleaf) { 
        if($subleaf['fid'] == $leaf['id']) { 
          $leaf['children'] = arr2tree($tree, $leaf['id']); 
          break; 
        } 
      } 
      $return[] = $leaf; 
    } 
  } 
  return $return; 
} 
  
$tree = arr2tree($data); 
print_r($tree); 
echo '
-----------------------------------------------------------------------
'; 
  
// 将数据使用HTML再次展现 见图3 
function tree2html($tree) { 
  echo '- '; 
  foreach($tree as $leaf) { 
    echo '
- ' .$leaf['name']; if(! emptyempty($leaf['children'])) tree2html($leaf['children']); echo ' '; } echo '
上述就是小编为大家分享的如何在PHP中利用递归实现一个层级树状展开效果了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。
新闻名称:如何在PHP中利用递归实现一个层级树状展开效果-创新互联
当前地址:http://www.scyingshan.cn/article/dgcdch.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 