无限分类思想

2018-02-03 10:37:43来源:oschina作者:我相信2010人点击

分享

/** * 无限分类a * 表设计:id name pid sort 传入一个无限分类表的二维数组$cate * 应用一:组合一维数组;应用场景:下拉选择列表 */ function unlimited_for_level($cate,$html='--',$pid=0,$level=0){$arr=[];foreach($cate as $v){ if($v['pid']==$pid){$v['level']=$level+1;$v['html']=str_repeat($html,$level);$arr[]=$v;$arr=array_merge($arr,unlimited_for_level($cate,$html,$v['id'],$level+1)); }}return $arr; }


/** * 无限分类b * 表设计:id name pid sort 传入一个无限分类表的二维数组$cate * 应用二:组合多维数组;应用场景:循环里面套循环 */ function unlimited_for_layer($cate,$pid=0){$arr=[];foreach($cate as $v){ if($v['pid']==$pid){$v['child']=unlimited_for_layer($cate,$v['id']);$arr[]=$v; }}return $arr; }


/** * 无限分类c * 表设计:id name pid sort 传入一个无限分类表的二维数组$cate * 传递一个子分类ID返回所有父级分类;如:由T恤得到--首页>>服装>>男装>>T恤; */ function unlimited_get_parents($catte,$id){$arr=[];foreach($cate as $v){ if($v['id']==$id){$arr[]=$v;$arr=array_merge(unlimited_get_parents($cate,$v['pid']),$arr); }}return $arr; }


/** * 无限分类d * 表设计:id name pid sort 传入一个无限分类表的二维数组$cate * 传递一个父级ID得到它的所有子级ID */ function unlimited_get_childs_id($cate,$pid){$arr=[];foreach($cate as $v){ if($v['pid']==$pid){$arr[]=$v['id'];$arr=array_merge($arr,unlimited_get_childs_id($cate,$v['id'])); }}return $arr; }


/** * 无限分类e * 表设计:id name pid sort 传入一个无限分类表的二维数组$cate * 传递一个父级ID得到它的所有子级 */ function unlimited_get_childs($cate, $pid) {$arr = array();foreach ($cate as $v) { if ($v['pid'] == $pid) {$arr[] = $v;$arr = array_merge($arr, unlimited_get_childs($cate, $v['id'])); }}return $arr; }

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台