Yii Framework框架获取分类下面的所有子类方法


Posted in PHP onJune 20, 2014

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

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;
 }

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

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);
  }
PHP 相关文章推荐
php将会员数据导入到ucenter的代码
Jul 18 PHP
JS 网站性能优化笔记
May 24 PHP
php对mongodb的扩展(初出茅庐)
Nov 11 PHP
php实现利用phpexcel导出数据
Aug 24 PHP
php cURL和Rolling cURL并发方式比较
Oct 30 PHP
给WordPress的编辑后台添加提示框的代码实例分享
Dec 25 PHP
php用户登录之cookie信息安全分析
May 13 PHP
PHP购物车类Cart.class.php定义与用法示例
Jul 20 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
Sep 28 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
Oct 10 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
Mar 23 PHP
PHP新手指南
Apr 01 PHP
windows下配置apache+php+mysql时出现问题的处理方法
Jun 20 #PHP
PHP扩展CURL的用法详解
Jun 20 #PHP
教你如何解密 “ PHP 神盾解密工具 ”
Jun 20 #PHP
ThinkPHP3.1查询语言详解
Jun 19 #PHP
ThinkPHP3.1数据CURD操作快速入门
Jun 19 #PHP
ThinkPHP3.1.3版本新特性概述
Jun 19 #PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
Jun 19 #PHP
You might like
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
Laravel Memcached缓存驱动的配置与应用方法分析
2016/10/08 PHP
Yii2中添加全局函数的方法分析
2017/05/04 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
JavaScript 字符串乘法
2009/08/20 Javascript
js和jquery中循环的退出和继续下一个循环
2014/09/03 Javascript
jQuery中prevUntil()方法用法实例
2015/01/08 Javascript
javascript实现列表滚动的方法
2015/07/30 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
实例解析jQuery中proxy()函数的用法
2016/05/24 Javascript
使用jquery提交form表单并自定义action的方法
2016/05/25 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
2016/08/31 Javascript
es7学习教程之Decorators(修饰器)详解
2017/07/21 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
2018/02/05 Javascript
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
微信小程序 点击切换样式scroll-view实现代码实例
2019/10/11 Javascript
JavaScript函数Call、Apply原理实例解析
2020/02/17 Javascript
详谈Python中列表list,元祖tuple和numpy中的array区别
2018/04/18 Python
opencv python 傅里叶变换的使用
2018/07/21 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
解析Python3中的Import
2019/10/13 Python
jenkins配置python脚本定时任务过程图解
2019/10/29 Python
加拿大廉价机票预订网站:CheapOair.ca
2018/03/04 全球购物
澳大利亚领先的运动鞋商店:Hype DC
2018/03/31 全球购物
Seavenger官网:潜水服、浮潜、靴子和袜子
2020/03/05 全球购物
几个数据库方面的面试题
2016/07/01 面试题
几道数据库的概念性面试题
2014/05/30 面试题
我的大学生活职业生涯规划
2014/01/02 职场文书
2014全国两会心得体会
2014/03/17 职场文书
村党支部公开承诺书
2014/05/29 职场文书
房屋买卖协议书范本
2014/09/27 职场文书
工程部岗位职责
2015/02/10 职场文书
公司门卫岗位职责
2015/04/13 职场文书
预备党员入党感想
2015/08/10 职场文书
Docker安装MySql8并远程访问的实现
2022/07/07 Servers