欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php 无限极分类

程序员文章站 2022-06-22 11:12:05
/* *@pram $array 数组 *@pram $pid 子id *@pram $level 等级 0 最* 以此类推 */ function test($array,$pid=0,$level=0){ //定义数组存放找到的数据,静态防止覆盖 static $list=[]; foreac ......

/*
 *@pram $array 数组
 *@pram $pid   子id
 *@pram $level  等级  0 最* 以此类推
 */
  function test($array,$pid=0,$level=0){
      //定义数组存放找到的数据,静态防止覆盖
         static $list=[];
         foreach ($array as $key => $value) {
             //判断,先找到*栏目
                 if($value['pid']==$pid){
               //找到*栏目后加标识,最*level=0
                     $value['level']=$level;
                     //找到所需栏目保存到事先定义好的list数组中
                     $list[]=$value;
                     //然后销毁当前已找到的数据的key,避免下次重复递归,消耗资源
                     nuset($array[$key]);

                     //开始递归,找完pid=0,找pid=1的,level+1。以此类推。
                     test($array,$value['id'],$level+1);
                 }
         }

         return $list;
  }