去年在一家公司做项目开发,用到商城三级分类,看了之前的程序员写的分类也是头大,三级分类,循环套循环三次( foreach(){ foreach(){ foreach(){ } } } ),然后写了一个无限级分类。提供参考,记录一下。
1 <?PHP 2 function eachCategory($cates,$lv=1){ 3 foreach($cates as $v){ 4 echo $v['name']; 5 echo str_repeat(' >> ',$lv); 6 if($v['child']){ 7 $this->eachCategory($v['child'],$lv+1); 8 } 9 } 10 } 11 12 function category(&$cates,$pid=0){ 13 $tree = array(); 14 foreach($cates as $v){ 15 if($v['parent_id'] == $pid){ 16 $v['child'] = $this->category($cates,$v['cat_id']); 17 $tree[] = $v; 18 } 19 } 20 return $tree; 21 }