【转载】PHP生成树形数组函数,layui树形数组生成,递归树 tree 无限级分类

这个树形函数估计很多人都用的到,我前几天找弟弟拿的,现在贴出代码来!

<?php    
/**
 * @param array $list 数据 必须传值
 * @param string $pk 主键 默认主键为id,可自行传入
 * @param string $pid 父键/父类标识 默认父类标识为pid,可自行传入
 * @param string $child 子类下标 children, 可自行传入
 * @return array 返回处理好的父子递进数据
 * @Description 回调函数
 * @Author Sorks(https://www.sorks.cn)
 */
function getTree($items, $pk = 'id', $pid = 'pid', $child = 'children')
{

    [$map, $tree] = [[], []];
    foreach ($items as &$it) {
        $map[$it[$pk]] = &$it; //数据的ID名生成新的引用索引树
    }

    foreach ($items as &$at) {
        $parent = &$map[$at[$pid]];
        if ($parent) {
            $parent[$child][] = &$at;
        } else {
            $tree[] = &$at;
        }
    }
    return $tree;
}

来源作者:Sorks
来源地址:http://blog.sorks.cn/index.php/archives/22/

Last modification:August 29th, 2019 at 10:09 pm
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment