Heim > Backend-Entwicklung > PHP-Tutorial > php获取分类下面的所有子类方法_PHP教程

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

WBOY
Freigeben: 2016-07-13 10:26:56
Original
808 Leute haben es durchsucht



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

    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;
    }
Nach dem Login kopieren

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

	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.&#39;itemcat.php&#39;, $applist);
    }
Nach dem Login kopieren


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/820636.htmlTechArticle获取分类下面的所有子类方法: static function getMenuTree($arrCat, $parent_id = 0, $level = 0,$all=True) { static $arrTree; //使用static代替global if(!$all) $arrTr...
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage