您现在的位置是:首页 > 文章详情

无限极分类

日期:2019-03-16点击:395
$arr = array( 0=>[ 'id'=>1, 'name'=>'科技', 'pid'=>0, ], 1=>[ 'id'=>2, 'name'=>'人工智能', 'pid'=>1, ], 2=>[ 'id'=>3, 'name'=>'美食', 'pid'=>0 ], 3=>[ 'id'=>4, 'name'=>'重庆小面', 'pid'=>3 ], 4=>[ 'id'=>5, 'name'=>'机器人', 'pid'=>2 ] ); public function category($arr,$pid=0,$level=0){ //定义一个静态变量,存储一个空数组,用静态变量,是因为静态变量不会被销毁,会保存之前保留的值,普通变量在函数结束时,会死亡,生长周期函数开始到函数结束,再次调用重新开始生长 //保存一个空数组 static $list=array(); //通过遍历查找是否属于顶级父类,pid=0为顶级父类, foreach($arr as $value){ //进行判断如果pid=0,那么为顶级父类,放入定义的空数组里 if($value['pid']==$pid){ //添加空格进行分层 $arr['level']=$level; $list[]=$value; //递归点,调用自身,把顶级父类的主键id作为父类进行再调用循环,空格+1 self::category($arr,$value['id'],$level+1); } } return $list;//递归出口 } $list = category($arr,0,0);

_

原文链接:https://yq.aliyun.com/articles/693960
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章