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脚本的10个技巧(8)
Oct 09 PHP
彻底杜绝PHP的session cookie错误
Aug 09 PHP
PHP 批量删除数据的方法分析
Oct 30 PHP
按上下级层次关系输出内容的PHP代码
Jul 17 PHP
mac下使用brew配置环境的步骤分享
May 23 PHP
php记录代码执行时间(实现代码)
Jul 05 PHP
PHP中的Streams详细介绍
Nov 12 PHP
PHP生成制作验证码的简单实例
Jun 12 PHP
Windows2003下php5.4安装配置教程(IIS)
Jun 30 PHP
thinkPHP中volist标签用法示例
Dec 06 PHP
微信公众号OAuth2.0网页授权问题浅析
Jan 21 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
Apr 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
基于php实现长连接的方法与注意事项的问题
2013/05/10 PHP
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
PHP标准类(stdclass)用法示例
2016/09/28 PHP
JavaScript原型继承之基础机制分析
2011/08/26 Javascript
关于jquery css的使用介绍
2013/04/18 Javascript
javascript dom追加内容实现示例
2013/09/21 Javascript
JavaScript中的ubound函数使用实例
2014/11/04 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
2015/03/26 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
轻量级网页遮罩层jQuery插件用法实例
2015/07/31 Javascript
jquery对象和DOM对象的相互转换详解
2016/10/18 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
微信小程序 登录实例详解
2017/01/16 Javascript
js常用DOM方法详解
2017/02/04 Javascript
JavaScript正则表达式简单实用实例
2017/06/23 Javascript
React Native中Navigator的使用方法示例
2017/10/13 Javascript
vue-cli中的babel配置文件.babelrc实例详解
2018/02/22 Javascript
使用element-ui table expand展开行实现手风琴效果
2019/03/15 Javascript
vue如何截取字符串
2019/05/06 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
JS校验与最终登陆界面功能完整示例
2020/01/13 Javascript
Vue.js中Line第三方登录api的实现代码
2020/06/29 Javascript
[00:48]完美“圣”典2016风云人物:xiao8宣传片
2016/11/30 DOTA
[01:30]我们共输赢 完美世界城市挑战赛开启全新赛季
2019/04/19 DOTA
python实现人人自动回复、抢沙发功能
2018/06/08 Python
Python数据报表之Excel操作模块用法分析
2019/03/11 Python
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
2016/01/27 HTML / CSS
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
机械电子工程专业推荐信范文
2013/11/20 职场文书
事业单位竞聘上岗实施方案
2014/03/28 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
校庆标语集锦
2014/06/25 职场文书
2015关爱留守儿童工作总结
2014/12/12 职场文书
外出听课学习心得体会
2016/01/15 职场文书
导游词之太原天龙山
2020/01/02 职场文书
python字典的元素访问实例详解
2021/07/21 Python