这个树形函数估计很多人都用的到,我前几天找弟弟拿的,现在贴出代码来!
<?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;
}