$list[] = ['id' => 0, 'pid' => -1, 'name' => 'A@0'];//-1用于后面的根目录判断
$list[] = ['id' => 1, 'pid' => 0, 'name' => 'A@1'];
$list[] = ['id' => 2, 'pid' => 0, 'name' => 'A@2'];
$list[] = ['id' => 3, 'pid' => 2, 'name' => 'A@3'];
$list[] = ['id' => 4, 'pid' => 3, 'name' => 'A@4'];
$list[] = ['id' => 5, 'pid' => 0, 'name' => 'A@5'];
$list[] = ['id' => 6, 'pid' => 1, 'name' => 'A@6'];
//先初始化目录
$return = [];
$parent = '';
foreach ($list as $v)
$return[$v['id']] = [
'id' => $v['id'],
'name' => $v['name'],
'pid' => $v['pid'],
];
$arr=[];
//将每个目录与父目录进行拼接,并找到根目录
foreach($return as $k=>$v){
if($v['pid']>=0){
$pid=$v['pid'];
unset($return[$k]['pid']);
$return[$pid]['child'][]=&$return[$k]; //引用
}
else{
unset($return[$k]['pid']);
$arr=&$return[$k];
}
}
$list[] = ['id' => 1, 'pid' => 0, 'name' => 'A@1'];
$list[] = ['id' => 2, 'pid' => 0, 'name' => 'A@2'];
$list[] = ['id' => 3, 'pid' => 2, 'name' => 'A@3'];
$list[] = ['id' => 4, 'pid' => 3, 'name' => 'A@4'];
$list[] = ['id' => 5, 'pid' => 0, 'name' => 'A@5'];
$list[] = ['id' => 6, 'pid' => 1, 'name' => 'A@6'];
//先初始化目录
$return = [];
$parent = '';
foreach ($list as $v)
$return[$v['id']] = [
'id' => $v['id'],
'name' => $v['name'],
'pid' => $v['pid'],
];
$arr=[];
//将每个目录与父目录进行拼接,并找到根目录
foreach($return as $k=>$v){
if($v['pid']>=0){
$pid=$v['pid'];
unset($return[$k]['pid']);
$return[$pid]['child'][]=&$return[$k]; //引用
}
else{
unset($return[$k]['pid']);
$arr=&$return[$k];
}
}