递归代码

//查询数据库的商品表

public function getCats(){
$sql = "SELECT * FROM {$this->table}";
$cats = $this->db->getAll($sql);

//调用递归方法递归商品表信息。商品表内部使用了自关联
return $this->tree($cats);
}
//递归
public function tree($arr,$pid=0,$level=0){
static $tree = array();
foreach($arr as $v){
if($v['parent_id'] == $pid){
$v['level'] = $level;
$tree[] = $v;
$this->tree($arr,$v['cat_id'],$level+1);
}
}
return $tree;
}

//多用于商品无限分类使用递归。递归并不是最好的方法因为它反复调用方法很浪费空间直到程序结束才开始慢慢释放。可以找到更好的分类方法

猜你喜欢

转载自www.cnblogs.com/v8921/p/9243743.html