2024-09-07 04:39:17
//根据你的需求,我写了个测试程序,你整理下就可以用了
$array = array(
array('id'=>1,"parentsid"=>0),
array('id'=>2,"parentsid"=>0),
array('id'=>3,"parentsid"=>2),
array('id'=>4,"parentsid"=>2),
array('id'=>5,"parentsid"=>1),
array('id'=>6,"parentsid"=>1)
);
$newArray = array();
foreach($array as $row){
if($row['parentsid'] == 0){
$newArray[] = $row;
}
}
foreach($array as $row){
foreach($newArray as $key=>$newRow){
if($row['parentsid'] == $newRow['id']){
$newArray[$key]['subnav'][] = $row;
}
}
}
2024-09-07 02:15:40
2024-09-07 09:16:00
2024-09-07 00:53:51
我就是不太清楚怎么写这个递归方法,有没有简单例子,或者你能否帮我写下,我参考下,谢谢
$d = array(
'0' => array (
'id' => "2",
'sort' => "2",
'navname' => "常见问题",
'parentsid' => "0",
),
'1' => array (
'id' => "3",
'sort' => "3",
'navname' => "配置接口",
'parentsid' => "0",
),
'2' => array (
'id' => "4",
'sort' => "4",
'navname' => "问题一",
'parentsid' => "2",
),
'3' => array (
'id' => "4",
'sort' => "4",
'navname' => "配置接口一",
'parentsid' => "3",
),
);
$data = build_tree($d);
print_r($data);
function build_tree($dat,$parentsid='0'){
$rs = array();
foreach($dat as $val){
if($val['parentsid']==$parentsid){
$subnav = build_tree($dat,$val['id']);
if($subnav){
$val['subnav'] = $subnav;
}
array_push($rs,$val);
}
}
return $rs;
}