PHP如何实现无限极分类生成树
更新:HHH   时间:2023-1-7


这篇文章主要介绍了PHP如何实现无限极分类生成树,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

无限极分类生成树

function generateTree($items){
  $tree = array();
  foreach($items as $item){
    if(isset($items[$item['pid']])){
      $items[$item['pid']]['son'][] = &$items[$item['id']];
    }else{
      $tree[] = &$items[$item['id']];
    }
  }
  return $tree;
}
function generateTree2($items){
  foreach($items as $item)
    $items[$item['pid']]['son'][$item['id']] = &$items[$item['id']];
  return isset($items[0]['son']) ? $items[0]['son'] : array();
}

$items = array(
  1 => array('id' => 1, 'pid' => 0, 'name' => '安徽省'),
  2 => array('id' => 2, 'pid' => 0, 'name' => '浙江省'),
  3 => array('id' => 3, 'pid' => 1, 'name' => '合肥市'),
  4 => array('id' => 4, 'pid' => 3, 'name' => '长丰县'),
  5 => array('id' => 5, 'pid' => 1, 'name' => '安庆市'),
);
print_r(generateTree($items));
/**
 * 如何取数据格式化的树形数据
 */
$tree = generateTree($items);
function getTreeData($tree){
  foreach($tree as $t){
    echo $t['name'].'<br>';
    if(isset($t['son'])){
      getTreeData($t['son']);
    }
  }
}

感谢你能够认真阅读完这篇文章,希望小编分享的“PHP如何实现无限极分类生成树”这篇文章对大家有帮助,同时也希望大家多多支持天达云,关注天达云行业资讯频道,更多相关知识等着你来学习!

返回编程语言教程...