php根据id和pid把单级数组重新组合为树结构

function list_to_trees($list, $pk='id', $pid = 'pid', $child = 'children', $root = 0) {
//创建Tree
$tree = array();
if (is_array($list)) {
//创建基于主键的数组引用
$refer = array();
foreach ($list as $key => $data){
$refer[$data[$pk]] = &$list[$key];
}
foreach ($list as $key => $data){
//判断是否存在parent
$parantId = $data[$pid];
if ($root == $parantId) {
$tree[] = &$list[$key];
}else {
if (isset($refer[$parantId])) {
$parent = &$refer[$parantId];
$parent[$child][] = &$list[$key];
}
}
}
}
return $tree;
}
参数说明
- $list [array] 原始数组
- $pk [string] id
- $pid [string] 父级pid
- $child [array] 承载子集的容器
- return [array] 返回树结构
一般传第一个参数就行
联系站长:
相关文章
js获取m到n随机数,js获取随机整数,从0到10,从m到n任意数
˂a class="reference-link" name="js获取从m到n的随机数"˃js获取从m到n的随机数function getRandomNumber(min, ma...
【JavaScript】js获取当前年月日周
【JavaScript】js获取当前年月日周function getcurtime(){ const addZero =...
js把数字格式化为千分位兼容版,兼容小数(8,888.22)
js把任意数字格式化为千分位/** * 格式化为千分位 * @param num 当前值字符串 * @ret...
【简单一行】使用js去掉空格方法-原生js代码实现JavaScript
【简单一行】使用js去掉空格方法-原生js代码实现JavaScript str为要去除空格的字符串:1、去掉所有空格:str=str.replace(/\s+/g,""); &...
js实用函数之map()函数的使用,一分钟学会
重点:map() 方法定义在JavaScript的Array中,它返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。值得注意的是:1、map()函数不会对空数组进行检测;2、map...
vue history路由下,对ngnix服务配置修改防止出现404问题
打开配置文件: # 打开配置文件 vi /usr/local/nginx/conf/nginx.con 宝塔则点击域名在里面找到配置文件进去修改: 如果域名直接指向...




