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 相关文章推荐
在字符串中把网址改成超级链接
Oct 09 PHP
php auth_http类库进行身份效验
Mar 19 PHP
php 修改zen-cart下单和付款流程以防止漏单
Mar 08 PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
Apr 02 PHP
PHP 透明水印生成代码
Aug 27 PHP
Zend Studio去除编辑器的语法警告设置方法
Oct 24 PHP
改写ThinkPHP的U方法使其路由下分页正常
Jul 02 PHP
PHP实现合并两个排序链表的方法
Jan 19 PHP
PHP实现微信红包金额拆分试玩的算法示例
Apr 07 PHP
Thinkphp5 自定义上传文件名的实现方法
Jul 23 PHP
php统计数组不同元素的个数的实例方法
Sep 26 PHP
laravel 模型查询按照whereIn排序的示例
Oct 16 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调用wsdl文件类型的接口代码分享
2014/11/19 PHP
php实现粘贴截图并完成上传功能
2015/05/17 PHP
php读取本地json文件的实例
2018/03/07 PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
2018/06/04 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
document.documentElement &amp;&amp; document.documentElement.scrollTop
2007/12/01 Javascript
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
JSON扫盲帖 JSON.as类教程
2009/02/16 Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
2012/02/27 Javascript
js实现的二分查找算法实例
2016/01/21 Javascript
jQuery 限制输入字符串长度
2016/06/20 Javascript
微信小程序 wx:key详细介绍
2016/10/28 Javascript
js初始化验证实例详解
2016/11/26 Javascript
js 判断数据类型的几种方法
2017/01/13 Javascript
微信小程序 仿猫眼实现实例代码
2017/03/14 Javascript
详解vue-router 路由元信息
2017/09/13 Javascript
浅谈Angular 中何时取消订阅
2017/11/22 Javascript
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
WEB前端性能优化的7大手段详解
2020/02/04 Javascript
swiper自定义分页器的样式
2020/09/14 Javascript
[42:04]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第一局
2016/03/03 DOTA
haskell实现多线程服务器实例代码
2013/11/26 Python
Python设置默认编码为utf8的方法
2016/07/01 Python
Python中进程和线程的区别详解
2017/10/29 Python
详解opencv Python特征检测及K-最近邻匹配
2019/01/21 Python
djang常用查询SQL语句的使用代码
2019/02/15 Python
python频繁写入文件时提速的方法
2019/06/26 Python
德国婴儿推车和儿童安全座椅商店:BABYSHOP
2016/09/01 全球购物
自荐信格式范文
2013/10/07 职场文书
财务总监管理岗位职责
2014/03/08 职场文书
《有趣的发现》教学反思
2014/04/15 职场文书
出国导师推荐信
2015/03/25 职场文书
2015社区精神文明建设工作总结
2015/04/21 职场文书
开学季:喜迎新生,迎新标语少不了
2019/11/07 职场文书
详解使用 CSS prefers-* 规范提升网站的可访问性与健壮性
2021/05/25 HTML / CSS
用JS实现飞机大战小游戏
2021/06/09 Javascript