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

<?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;
}
最后修改:2023 年 07 月 25 日
您的赞赏是对我最大的支持。