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目录导航文件代码
Oct 09 PHP
The specified CGI application misbehaved by not returning a complete set of HTTP headers
Mar 31 PHP
解析coreseek for sphinx的使用
Jun 21 PHP
分享下页面关键字抓取components.arrow.com站点代码
Jan 30 PHP
php获取CSS文件中图片地址并下载到本地的方法
Dec 02 PHP
PHP入门教程之面向对象基本概念实例分析
Sep 11 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
Sep 16 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
Apr 12 PHP
PHP常量define和const的区别详解
May 18 PHP
详解Laravel设置多态关系模型别名的方式
Oct 17 PHP
设定php简写功能的方法
Nov 28 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
可快速识别放射性物质-国外大神教你diy一个开放式辐射探测器
2020/03/12 无线电
js 页面刷新location.reload和location.replace的区别小结
2009/12/24 Javascript
解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码
2011/05/28 Javascript
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
2014/01/06 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
javascript中SetInterval与setTimeout的定时器用法
2015/08/24 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
2015/09/01 Javascript
Augularjs-起步详解
2016/07/08 Javascript
解决Vue2.0自带浏览器里无法打开的原因(兼容处理)
2017/07/28 Javascript
利用adb shell和node.js实现抖音自动抢红包功能(推荐)
2018/02/22 Javascript
jQuery实现模糊查询的方法分析
2018/05/10 jQuery
JS非行间样式获取函数的实例代码
2018/06/05 Javascript
小程序二次贝塞尔曲线实现购物车商品曲线飞入效果
2019/01/07 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
Vue proxyTable配置多个接口地址,解决跨域的问题
2020/09/11 Javascript
[03:37]2015国际邀请赛第四日现场精彩集锦
2015/08/08 DOTA
在Python的Django框架中生成CSV文件的方法
2015/07/22 Python
Python中装饰器兼容加括号和不加括号的写法详解
2017/07/05 Python
解决DataFrame排序sort的问题
2018/06/07 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
2019/01/15 Python
如何解决tensorflow恢复模型的特定值时出错
2020/02/06 Python
pycharm工具连接mysql数据库失败问题
2020/04/01 Python
python 如何读、写、解析CSV文件
2021/03/03 Python
记一次高分屏下canvas模糊问题
2020/02/17 HTML / CSS
详解淘宝H5 sign加密算法
2020/08/25 HTML / CSS
Missguided美国官网:英国时尚品牌
2018/01/18 全球购物
2014新课程改革心得体会
2014/03/10 职场文书
篮球比赛拉拉队口号
2014/06/10 职场文书
五一口号
2014/06/19 职场文书
2015年试用期工作总结
2014/12/12 职场文书
培训班通知
2015/04/25 职场文书
2015年迎新晚会策划书
2015/07/16 职场文书
2015年教师党员个人总结
2015/11/24 职场文书
Mysql服务添加 iptables防火墙策略的方案
2021/04/29 MySQL