Home > Backend Development > PHP Tutorial > php获取分门别类下面的所有子类方法

php获取分门别类下面的所有子类方法

WBOY
Release: 2016-06-13 11:59:59
Original
810 people have browsed it

php获取分类下面的所有子类方法



获取分类下面的所有子类方法:

    static function getMenuTree($arrCat, $parent_id = 0, $level = 0,$all=True)    {        static  $arrTree; //使用static代替global        if(!$all) $arrTree ='';        if( empty($arrCat)) return FALSE;        $level++;        if($level == 1) $arrTree[] = $parent_id;        foreach($arrCat as $key => $value)        {            if($value['parent_cid' ] == $parent_id)            {                //$value[ 'level'] = $level;                $arrTree[] = $value['cid'];                unset($arrCat[$key]); //注销当前节点数据,减少已无用的遍历                self::getMenuTree($arrCat, $value[ 'cid'], $level);            }        }        return $arrTree;    }
Copy after login

用上面这个方法的前提是要把分类写到缓存文件中,缓存文件写入方法如下:

	public function actionIndex2()	{        $filepath = Yii::getPathOfAlias('application').'/data/';        $arr = array();        $db = Yii::app()->db;        $listinfo = $db->createCommand("select name,cid,parent_cid,root_cid from item_cat_info")->queryAll();        foreach($listinfo as $val)        {            $arr[$val['cid']] = array('cid'=>$val['cid'],'name'=>$val['name'],'parent_cid'=>$val['parent_cid'],'root_cid'=>$val['root_cid']);        }        $applist = "<?php \nreturn ".var_export($arr, true).";\n?>";        file_put_contents($filepath.'itemcat.php', $applist);    }
Copy after login


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template