ThinkPHP中处理分类常使用到的方法集合类

类里面的主要方法如下
(1)php组合一维数组
(2)php组合多维数组
(3)php传递一个子级返回父级id 例如:首页>>服装>>女装>>裙子
(4)php传递一个父级ID返回所有子级分类
(5)php获取指定父id的所有分类
(6)php生成树形结构数组

>服装>>女装>>裙子
    Static public function getParents($cate,$id){
        $arr=array();
        foreach($cate as $v){
            if($v['id']==$id){
                $arr[]=$v;
                $arr=array_merge(self::getParents($cate,$v['pid']),$arr);
            }
        }
        return $arr;
    }
    
    //传递一个父级ID返回所有子级分类
    Static public function getChiIds($cate,$pid,$str=0){
        $arr=array();
        static $strarr = array();
        foreach ($cate as $v){
            if($v['pid']==$pid){
                $arr[]= $v;
                $strarr[] = $v['id'];
                $arr=array_merge($arr,self::getChiIds($cate,$v['id']));
            }
        }
        return $str == 1 ? $strarr : $arr;
    }
    
    //获取指定父id的所有分类
    static public function getCateByPid($cate,$pid=0){
        $arr = array();
        foreach($cate as $v){
            if($v['pid']==$pid){
                $arr[] = array('id'=>$v['id'],'name'=>$v['name']);
            }
        }
        return $arr;
    }
    
    //生成树形结构数组
    static public function getCateTreeArr($cate,$pid){
        $arr = array();
        foreach($cate as $v){
            if($v['pid']==$pid){
                $child = Category::getCateTreeArr($cate,$v['id']);
                if($child){
                    $v['child'] = $child;
                }
                $arr[] = $v;
            }
        }
        return $arr;
    }
}
/********************
这是一个文章分类表的设置
CREATE TABLE IF NOT EXISTS `yk_article_cate` (
  `id` smallint(4) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  `alias` varchar(50) NOT NULL,
  `pid` smallint(4) unsigned NOT NULL DEFAULT '0',
  `spid` varchar(50) NOT NULL,
  `ordid` smallint(4) unsigned NOT NULL DEFAULT '255',
  `status` tinyint(1) NOT NULL DEFAULT '1',
  `seo_title` varchar(255) NOT NULL,
  `seo_keys` varchar(255) NOT NULL,
  `seo_desc` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
**************/

?>
]]>

原创文章,作者:键盘游走者,如若转载,请注明出处:http://www.708034.com/2015/07/thinkphp%e4%b8%ad%e5%a4%84%e7%90%86%e5%88%86%e7%b1%bb%e5%b8%b8%e4%bd%bf%e7%94%a8%e5%88%b0%e7%9a%84%e6%96%b9%e6%b3%95%e9%9b%86%e5%90%88%e7%b1%bb/

发表评论

邮箱地址不会被公开。 必填项已用*标注