查询好数据使用函数调取,第一个完美支持你的需求,第二个是数据递归存放
$arr = [
0=>['id'=>1,'pid'=>0,'title'=>'标题名称一'],
1=>['id'=>2,'pid'=>0,'title'=>'标题名称一'],
2=>['id'=>3,'pid'=>1,'title'=>'标题名称一'],
3=>['id'=>4,'pid'=>1,'title'=>'标题名称一'],
4=>['id'=>5,'pid'=>2,'title'=>'标题名称一'],
5=>['id'=>6,'pid'=>2,'title'=>'标题名称一'],
6=>['id'=>7,'pid'=>3,'title'=>'标题名称一'],
7=>['id'=>8,'pid'=>3,'title'=>'标题名称一'],
8=>['id'=>9,'pid'=>6,'title'=>'标题名称一'],
9=>['id'=>10,'pid'=>6,'title'=>'标题名称一'],
10=>['id'=>11,'pid'=>2,'title'=>'标题名称一'],
];
$result = foreachd($arr,0);var_dump($result);
function foreachd($arr,$pid,$showpage = '') {
$setpage = 1;
$result = array();
foreach($arr as $key=>$val) {
if($val['pid'] == $pid) {
$setshowpage = $showpage == '' ? $setpage : $showpage.'.'.$setpage;
$arr[$key]['page'] = $setshowpage;
$setpage++;
$setarray = ['page'=>$setshowpage,'title'=>$val['title']];
$result[] = $setarray;
$result = array_merge($result,foreachd($arr,$val['id'],$setshowpage));
}
}
return $result;
}
/*function foreachd($arr,$pid) {
$return = array();
foreach($arr as $val) {
if($val['pid'] == $pid) {
$return[$val['id']]['title'] = $val['title'];
$childrendata = foreachd($arr,$val['id']);
if($childrendata) {
$return[$val['id']]['children'] = $childrendata;
}
}
}
return $return;
}*/