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 相关文章推荐
如何限制访问者的ip(PHPBB的代码)
Oct 09 PHP
Php+SqlServer实现分页显示
Oct 09 PHP
使用php4加速网络传输
Oct 09 PHP
phpMyAdmin 安装教程全攻略
Mar 19 PHP
用PHP调用Oracle存储过程的方法
Sep 12 PHP
php学习之 循环结构实现代码
Jun 09 PHP
php比较多维数组中值的大小排序实现代码
Sep 08 PHP
jQuery+php实现ajax文件即时上传的详解
Jun 17 PHP
php以post形式发送xml的方法
Nov 04 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
Dec 19 PHP
PHP Smarty模版简单使用方法
Mar 30 PHP
PHP设计模式入门之状态模式原理与实现方法分析
Apr 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
PHP正则表达式 /i, /is, /s, /isU等介绍
2014/10/23 PHP
腾讯CMEM的PHP扩展编译安装方法
2015/09/25 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
2016/07/06 PHP
php使用get_class_methods()函数获取分类的方法
2016/07/20 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
PHP中mysqli_get_server_version()的实例用法
2020/02/03 PHP
纯CSS3实现质感细腻丝滑按钮
2021/03/09 HTML / CSS
使用PHP+JQuery+Ajax分页的实现
2013/04/23 Javascript
JavaScript中统计Textarea字数并提示还能输入的字符
2014/06/10 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
2015/09/01 Javascript
JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
2017/02/19 Javascript
WebStorm ES6 语法支持设置&amp;babel使用及自动编译(详解)
2017/09/08 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
2018/04/22 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
python操作ie登陆土豆网的方法
2015/05/09 Python
Python学习笔记整理3之输入输出、python eval函数
2015/12/14 Python
利用python代码写的12306订票代码
2015/12/20 Python
Python获取linux主机ip的简单实现方法
2016/04/18 Python
python tkinter基本属性详解
2019/09/16 Python
Django 自动生成api接口文档教程
2019/11/19 Python
window环境pip切换国内源(pip安装异常缓慢的问题)
2019/12/31 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
2020/04/14 Python
详解pandas.DataFrame.plot() 画图函数
2020/06/14 Python
如何从csv文件构建Tensorflow的数据集
2020/09/21 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
python中操作文件的模块的方法总结
2021/02/04 Python
细说CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
2014/07/21 HTML / CSS
世界上最值得信赖的多日游在线市场:TourRadar
2018/07/20 全球购物
简单的大学生自我鉴定
2014/02/18 职场文书
社区矫正工作方案
2014/06/04 职场文书
班级读书活动总结
2014/06/30 职场文书
乡村教师党员四风问题对照检查材料思想汇报
2014/10/08 职场文书
教师“一帮一”结对子活动总结
2015/05/07 职场文书
元旦主持词开场白
2015/05/29 职场文书
大学军训口号大全
2015/12/24 职场文书
2016护理专业求职自荐书
2016/01/28 职场文书