第一种:
/*把获取到的所有子评论生成分类树*/
public function generateTreeOne($array,$pid = 0){
$arr = $this->generateTreeTwo($array,$pid);
//第一步 构造数据
$items = array();
foreach($arr as $value){
//转换时间
$value['add_time'] = date('Y-m-d',$value['add_time']);
$items[$value['id']] = $value;
}
//第二部 遍历数据 生成树状结构
$tree = array();
foreach($items as $key => $value){
if(isset($items[$value['pid']])){
$items[$value['pid']]['clist'][] = &$items[$key];
}else{
$tree[] = &$items[$key];
}
}
return $tree;
}
/*获取pid下所有子评论*/
private function generateTreeTwo($array,$pid = 0){
$arr=array();
foreach ($array as $v) {
if ($v['pid']==$pid) {
$arr[]=$v;
$arr=array_merge($arr,$this->generateTreeTwo($array,$v['id']));
}
}
return $arr;
}
第二种:
private function generateTree($array){
//第一步 构造数据
$items = array();
foreach($array as $value){
//转换时间
$value['add_time'] = date('Y-m-d',$value['add_time']);
$items[$value['id']] = $value;
}
//第二部 遍历数据 生成树状结构
$tree = array();
foreach($items as $key => $value){
if(isset($items[$value['pid']])){
$items[$value['pid']]['clist'][] = &$items[$key];
}else{
$tree[] = &$items[$key];
}
}
return $tree;
}