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 相关文章推荐
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
Sep 30 PHP
《PHP编程最快明白》第三讲:php数组
Nov 01 PHP
百度实时推送api接口应用示例
Oct 21 PHP
php+curl 发送图片处理代码分享
Jul 09 PHP
php实现json编码的方法
Jul 30 PHP
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
May 04 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
May 13 PHP
深入解析PHP中SESSION反序列化机制
Mar 01 PHP
关于PHP通用返回值设置方法
Mar 31 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
Jun 07 PHP
php显示页码分页类的封装
Jun 08 PHP
php实现的统计字数函数定义与使用示例
Jul 26 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
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
php 将bmp图片转为jpg等其他任意格式的图片
2009/06/29 PHP
php获取域名的google收录示例
2014/03/24 PHP
将PHP的session数据存储到数据库中的代码实例
2016/06/24 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
Prototype Object对象 学习
2009/07/12 Javascript
JavaScript 模式之工厂模式(Factory)应用介绍
2012/11/15 Javascript
jQuery中$.fn的用法示例介绍
2013/11/05 Javascript
js post提交调用方法
2014/02/12 Javascript
ActiveX控件与Javascript之间的交互示例
2014/06/04 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
javascript跑马灯抽奖实例讲解
2020/04/17 Javascript
webix+springmvc session超时跳转登录页面
2016/10/30 Javascript
详解使用React进行组件库开发
2018/02/06 Javascript
vue车牌号校验和银行校验实战
2019/01/23 Javascript
JavaScript设计模型Iterator实例解析
2020/01/22 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
[32:36]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第二场 12.12
2020/12/16 DOTA
python统计字符串中指定字符出现次数的方法
2015/04/04 Python
CentOS 7下安装Python3.6 及遇到的问题小结
2018/11/08 Python
python写入数据到csv或xlsx文件的3种方法
2019/08/23 Python
python selenium自动化测试框架搭建的方法步骤
2020/06/14 Python
使用Python FastAPI构建Web服务的实现
2020/06/08 Python
如何一键升级Python所有包
2020/11/05 Python
如何使用css3实现一个类在线直播的队列动画的示例代码
2020/06/17 HTML / CSS
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
linux面试题参考答案(10)
2016/10/26 面试题
J2EE包括哪些技术
2016/11/25 面试题
幼儿园小班评语
2014/04/18 职场文书
分公司任命书
2014/06/06 职场文书
领导班子自我剖析材料
2014/08/16 职场文书
基层党员干部四风问题整改方向和措施
2014/09/25 职场文书
基督教追悼会答谢词
2015/09/29 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书
Nginx+Tomcat实现负载均衡、动静分离的原理解析
2021/03/31 Servers