类里面的主要方法如下
(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/