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中通过ADODB库实现调用Access数据库之修正版本
Dec 31 PHP
PHP实现MySQL更新记录的代码
Jun 07 PHP
php session 错误
May 21 PHP
ThinkPHP模版中导入CSS和JS文件的方法
Nov 29 PHP
PHP使用递归方式列出当前目录下所有文件的方法
Jun 02 PHP
php源码分析之DZX1.5随机数函数random用法
Jun 17 PHP
php 运算符与表达式详细介绍
Nov 30 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
Dec 08 PHP
详谈PHP中的密码安全性Password Hashing
Feb 04 PHP
ThinkPHP开发--使用七牛云储存
Sep 14 PHP
php获取微信openid方法总结
Oct 10 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
Apr 13 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代码质量36计
2012/09/05 PHP
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
yum命令安装php7和相关扩展
2016/07/04 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
juqery 学习之五 文档处理 插入
2011/02/11 Javascript
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
2013/03/24 Javascript
js获得指定控件输入光标的坐标兼容IE,Chrome,火狐等多种主流浏览器
2013/05/21 Javascript
jQuery解决下拉框select设宽度时IE 6/7/8下option超出显示不全
2013/05/27 Javascript
jQuery选择器源码解读(七):elementMatcher函数
2015/03/31 Javascript
JS实现支持多选的遍历下拉列表代码
2015/08/20 Javascript
js手动播放图片实现图片轮播效果
2016/09/17 Javascript
Vue 2.0+Vue-router构建一个简单的单页应用(附源码)
2017/03/14 Javascript
全选复选框JavaScript编写小结(附代码)
2017/08/16 Javascript
浅谈Vue2.0中v-for迭代语法的变化(key、index)
2018/03/06 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
2019/05/28 Javascript
JS浮点数运算结果不精确的Bug解决
2019/08/01 Javascript
Vue filter 过滤当前时间 实现实时更新效果
2019/12/20 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
2020/12/19 Vue.js
Python基于回溯法子集树模板解决选排问题示例
2017/09/07 Python
Python实现可自定义大小的截屏功能
2018/01/20 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
PyCharm安装第三方库如Requests的图文教程
2018/05/18 Python
Linux系统(CentOS)下python2.7.10安装
2018/09/26 Python
Python pip配置国内源的方法
2020/02/14 Python
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
婴儿鞋,独特的婴儿服装和配件:Zutano
2018/11/03 全球购物
Tiqets英国:智能手机上的文化和娱乐门票
2019/07/10 全球购物
学习心得体会
2014/01/01 职场文书
读群众路线的心得体会
2014/09/03 职场文书
销售代理协议书
2014/09/30 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
银行求职自荐信范文
2015/03/04 职场文书
消防隐患整改通知书
2015/04/22 职场文书
免职通知
2015/04/23 职场文书
元旦晚会开场白
2015/05/29 职场文书