/**
* 生成无限极分类树
* @param $arr '数据数组结构'
* @param $key_id '主键id的key'
* @param $parent_id '区分层级关系的 Key名'
* @return array
*/
function make_tree($arr,$key_id,$parent_id)
{
$refer = array();
$tree = array();
foreach($arr as $k => $v){
$refer[$v[$key_id]] = & $arr[$k]; //创建主键的数组引用
}
foreach($arr as $k => $v){
$pid = $v[$parent_id]; //获取当前分类的父级id
if($pid == 0){
$arr[$k]['parent_id'] = (string)$arr[$k]['parent_id'];
$arr[$k]['children'] = [];
$tree[] = & $arr[$k]; //顶级栏目
}else{
if(isset($refer[$pid])){
$arr[$k]['parent_id'] = (string)$arr[$k]['parent_id'];
$refer[$pid]['children'][] = & $arr[$k]; //如果存在父级栏目,则添加进父级栏目的子栏目数组中
}
}
}
return $tree;
}
数组 生成无限极分类树
最新推荐文章于 2023-05-31 16:16:45 发布