回复内容:
应该是自己拼接的,大概是以下这种方式
$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; }