时间:2021-07-01 10:21:17 帮助过:10人阅读
应该是自己拼接的,大概是以下这种方式
$arr = [
0=> ['id'=>'1', 'title'=>'总栏目', 'children'=>[
0=>['id'=>'4', 'title'=>'访谈', 'children'=>[]],
1=>['id'=>'5', 'title'=>'公告', 'children'=>[]]]
],
1 => ['id'=>'3', 'title'=>'总专题', 'children'=>[
0=>['id'=>'6', 'title'=>'得利卡就了', 'children'=>[]],
1=>['id'=>'10', 'title'=>'鸡豆凉粉', 'children'=>[
0=>['id'=>'7', 'title'=>'爱上生活', 'children'=>[]],
1=>['id'=>'8', 'title'=>'降低生产力骄傲', 'children'=>[
0=>['id'=>'9', 'title'=>'大了', 'children'=>[]]
]]
]
],
]
]];
$returnInfo = getSelectArray($arr);
var_dump($returnInfo);
public function getSelectArray($arr, $grade = 0) {
$char = ['', '├','| ├', '| ├'];
$encChar = ['','┕','| ┕', '| ┕'];
$returnInfo = [];
foreach($arr as $key => $val){
$sort = $key + 1;
$tmp['id'] = $val['id'];
if($val == end($arr)) {
$tmp['title'] = $encChar[$grade] . $val['title'];
} else {
$tmp['title'] = $char[$grade] . $val['title'];
}
$children = getSelectArray($val['children'], $grade+1);
$returnInfo[] = $tmp;
$returnInfo = array_merge($returnInfo, $children);
}
return $returnInfo;
}