无限分类 tree结构生成 -迭代法
Posted 青涩柠檬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无限分类 tree结构生成 -迭代法相关的知识,希望对你有一定的参考价值。
无限分类 tree结构生成
/**
* 生成项目树
* @param $projects
* @param string $idKey
* @param string $pidKey
* @return array
*/
function makeTree($projects, $idKey = \'id\', $pidKey = \'pid\')
{
$refer = array();
$tree = array();
//创建主键的数组引用
foreach ($projects as $k => $v) {
$refer[$v[$idKey]] = &$projects[$k];
}
foreach ($projects as $k => $v) {
//获取当前分类的父级id
$pid = $v[$pidKey];
if (isset($refer[$pid])) {
//如果存在父级栏目,则添加进父级栏目的子栏目数组中
$refer[$pid][\'children\'][] = &$projects[$k];
} else {
$tree[] = &$projects[$k]; //顶级栏目
}
}
return $tree;
}
以上是关于无限分类 tree结构生成 -迭代法的主要内容,如果未能解决你的问题,请参考以下文章