Home > Article > Backend Development > How is this effect of generating drop-down options achieved?
It should be spliced by yourself, probably in the following way
<code> $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; } </code>