类里面的主要方法如下
(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 ;
**************/
?>
]]>
ThinkPHP中处理分类常使用到的方法集合类:等您坐沙发呢!