TP5框架下如何用递归实现无限分级(代码示例)

TP5框架下如何用递归实现无限分级(代码示例)

内容导读

收集整理的这篇技术教程文章主要介绍了TP5框架下如何用递归实现无限分级(代码示例),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1640字,纯文字阅读大概需要3分钟

内容图文

本篇文章给大家带来的内容是关于TP5框架下如何用递归实现无限分级(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

我用的是tp5框架,由于项目多处用无限分级,所以我在extend里面直接创建一个catetree包再创建一个类Catetee.php,就可以在控制器里面直接引用就可以了

<?phpnamespace catetree;class Catetree {



public function catetree($cateRes){



return $this->sort($cateRes);

}

public function sort($cateRes,$pid=0,$level=0){



static $arr=array();



foreach ($cateRes as $k => $v) {





if($v['pid']==$pid){







$v['level']=$level;







$arr[]=$v;







$this->sort($cateRes,$v['id'],$level+1);





}



}



return $arr;

}

//获取子栏目id
 public function childrenids($cateid,$obj){



$data=$obj->field('id,pid')->select();



return $this->_childrenids($data,$cateid,TRUE);
 }
 private function _childrenids($data,$cateid,$clear=FALSE){



static $arr=array();



if($clear){




$arr=array();



}



foreach ($data as $k => $v) {





if($v['pid']==$cateid){







$arr[]=$v['id'];







$this->_childrenids($data,$v['id']);





}



}



return $arr;
 }
 //处理栏目排序
 public function cateSort($data,$obj){

foreach ($data as $k => $v) {



$obj->update(['id'=>$k,'sort'=>$v]);

}
 }
 //处理批量删除
 public function pdel($cateids){





foreach ($cateids as $k => $v) {







$childrenidsarr[]=$this->childrenids($v);







$childrenidsarr[]=(int)$v;





}






$_childrenidsarr=array();





foreach ($childrenidsarr as $k => $v) {







if(is_array($v)){









foreach ($v as $k1 => $v1) {










 $_childrenidsarr[]=$v1;









}







}else{









$_childrenidsarr[]=$v;







}





}





$_childrenidsarr=array_unique($_childrenidsarr);





$this::destroy($_childrenidsarr);


 }}

相关推荐:

PHP实现无级递归分类(ThinkPHP框架),无级thinkphp

ThinkPHP实现递归无级分类代码少,thinkphp递归

以上就是TP5框架下如何用递归实现无限分级(代码示例)的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的TP5框架下如何用递归实现无限分级(代码示例)全部内容,希望文章能够帮你解决TP5框架下如何用递归实现无限分级(代码示例)所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com