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 高级课程笔记 面向对象
Jun 21 PHP
PHP源码之 ext/mysql扩展部分
Jul 17 PHP
php 大数据量及海量数据处理算法总结
May 07 PHP
php学习笔记(三)操作符与控制结构
Aug 06 PHP
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
Jun 12 PHP
php生成短域名函数
Mar 23 PHP
php实现每天自动变换随机问候语的方法
May 12 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
Jul 01 PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
Feb 03 PHP
Yii净化器CHtmlPurifier用法示例(过滤不良代码)
Jul 15 PHP
PHP通过curl获取接口URL的数据方法
May 31 PHP
tp5(thinkPHP5)框架数据库Db增删改查常见操作总结
Jan 10 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/08/12 PHP
ThinkPHP3.2框架操作Redis的方法分析
2019/05/05 PHP
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
漫谈JS引擎的运行机制 你应该知道什么
2016/06/15 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
2016/06/26 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
2016/12/28 Javascript
Node.js复制文件的方法示例
2016/12/29 Javascript
jQuery排序插件tableSorter使用方法
2017/02/10 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
2017/06/21 Javascript
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
2019/04/04 jQuery
JS事件流与事件处理程序实例分析
2019/08/16 Javascript
Python获取当前时间的方法
2014/01/14 Python
python利用不到一百行代码实现一个小siri
2017/03/02 Python
Django自定义插件实现网站登录验证码功能
2017/04/19 Python
Python minidom模块用法示例【DOM写入和解析XML】
2019/03/25 Python
Python 获取numpy.array索引值的实例
2019/12/06 Python
Python3实现发送邮件和发送短信验证码功能
2020/01/07 Python
新年福利来一波之Python轻松集齐五福(demo)
2020/01/20 Python
Python Charles抓包配置实现流程图解
2020/09/29 Python
matplotlib grid()设置网格线外观的实现
2021/02/22 Python
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
浅谈h5自定义audio(问题及解决)
2016/08/19 HTML / CSS
英国Flybe航空官网:欧洲最大的独立支线廉价航空公司
2019/07/15 全球购物
计算机网络毕业生自荐信
2013/10/01 职场文书
一名毕业生的自我鉴定
2013/12/04 职场文书
历史教育专业个人求职信
2013/12/13 职场文书
销售总经理岗位职责
2014/03/15 职场文书
小班上学期评语
2014/05/05 职场文书
小学生环保标语
2014/06/13 职场文书
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
先进集体申报材料
2014/12/25 职场文书
2015年教研组工作总结
2015/05/04 职场文书
导游词之河北野三坡
2019/12/11 职场文书
粗暴解决CUDA out of memory的问题
2021/05/22 Python
html5+实现plus.io进行拍照和图片等获取
2022/06/01 HTML / CSS