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的一个登录的类 [推荐]
Mar 16 PHP
探讨:如何使用PhpDocumentor生成文档
Jun 25 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
Apr 29 PHP
查找php配置文件php.ini所在路径的二种方法
May 26 PHP
thinkphp模板的包含与渲染实例分析
Nov 26 PHP
PHP实现货币换算的方法
Nov 29 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
Mar 19 PHP
php数组比较实现查找连续数的方法
Jul 29 PHP
PHP中SSO Cookie登录分析和实现
Nov 06 PHP
php车辆违章查询数据示例
Oct 14 PHP
PHPCMS V9 添加二级导航的思路详解
Oct 20 PHP
Laravel 类和接口注入相关的代码
Oct 15 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
关于尾递归的使用详解
2013/05/02 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
2014/05/12 PHP
PHP遍历数组的三种方法及效率对比分析
2015/02/12 PHP
PHP实现上传多文件示例代码
2017/02/20 PHP
setTimeout 不断吐食CPU的问题分析
2009/04/01 Javascript
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
jQuery实现级联菜单效果(仿淘宝首页菜单动画)
2014/04/10 Javascript
使用ajax+jqtransform实现动态加载select
2014/12/01 Javascript
JavaScript数据结构和算法之二叉树详解
2015/02/11 Javascript
提交按钮的name='submit'引起的js失效问题及原因
2015/02/25 Javascript
JQuery选择器、过滤器大整理
2015/05/26 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
Javascript操作表单实例讲解(下)
2016/06/20 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
2017/01/20 Javascript
微信小程序之电影影评小程序制作代码
2017/08/03 Javascript
Vue项目添加动态浏览器头部title的方法
2018/07/11 Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
2018/09/06 Javascript
Vuex 使用 v-model 配合 state的方法
2018/11/13 Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
2019/12/06 Javascript
Python实现遍历目录的方法【测试可用】
2017/03/22 Python
Python3操作SQL Server数据库(实例讲解)
2017/10/21 Python
python实现树形打印目录结构
2018/03/29 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
2020/02/15 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
Python过滤序列元素的方法
2020/07/31 Python
Original Penguin美国官网:布拉德皮特、强尼德普喜爱的服装品牌
2016/10/25 全球购物
倩碧香港官方网站:Clinique香港
2017/11/13 全球购物
武汉英思工程科技有限公司&ndash;ORACLE面试测试题目
2012/04/30 面试题
三分钟演讲稿范文
2014/04/24 职场文书
辞职信怎么写
2015/02/27 职场文书
黄河绝恋观后感
2015/06/08 职场文书
2016年母亲节广告语
2016/01/28 职场文书
2019年冬至:天冷暖人心的问候祝福语大全
2019/12/20 职场文书
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
2021/04/05 Python
关于Vue中的options选项
2022/03/22 Vue.js