无限分类最重要的就是id以及parentsid,用parentsid来记录父级的id,从而实现无限级分类,之后就是用递归遍历出来就OK了。
效果:
附上一张数据表:
代码是用PT5框架的:
/**
* 无限分类的遍历
* @param [array] $data 所有数据
* @param integer $parentsid parentsid为0时是一级分类
* @param integer $level 记录几级分类,用于效果图中的---区分
* @return [array] 已经遍历好的数组
*/
public function category($data,$parentsid=0,$level=0){
static $array = array();
foreach ($data as $key => $value) {
if($value['parentsid'] == $parentsid){
$value['level'] = $level;
$array[] = $value;
$this->category($data,$value['id'],$level+1);
}
}
return $array;
}