时间:2020-09-22 浏览量: 收藏
递归实现无限分类
$data = [ 0=>['id'=>1,'name'=>'电脑','father'=>0], 1=>['id'=>2,'name'=>'手机','father'=>0], 2=>['id'=>3,'name'=>'书籍','father'=>0], 3=>['id'=>4,'name'=>'台式机','father'=>1], 4=>['id'=>5,'name'=>'笔记本','father'=>1], 5=>['id'=>6,'name'=>'平板','father'=>1], 6=>['id'=>7,'name'=>'华为','father'=>2], 7=>['id'=>8,'name'=>'苹果','father'=>2], 8=>['id'=>9,'name'=>'教科书','father'=>3], 9=>['id'=>10,'name'=>'小学','father'=>9], 10=>['id'=>11,'name'=>'显示器','father'=>4], 11=>['id'=>12,'name'=>'荣耀','father'=>7], ]; /** * 递归生成分类树 * @param $data 分类数据 * @param $pid 父级id * @param $level 当前层级 * @return array */ function getTree($arr,$pid,$level){ static $tree=[]; foreach($arr as $key=>$val) { if($val['father'] == $pid) { $flag = str_repeat('└―',$level); $val['name'] = $flag.$val['name']; $tree[] = $val; getTree($arr , $val['id'] ,$level+1); } } return $tree; } $tree = getTree($data,0,0); //foreach遍历输出分类数据 foreach ($tree as $val){ echo $val['name'].'<br>'; }
RELATED RECOMMEND
2020-09-22
1、通过PHPStudy中composer工具来安装thinkphp6.0:2、执行composer安装命令 composer create-project topthink/think tp6 6.0.*-dev:3、遇到安装失败,请更新镜像地址,
2020-09-22
在php程序判断客户端是通过电脑端还是手机端访问,以下是经过测试可行的函数function isMobile() { static $is_mobile = null; null === $is_mobile &&
2020-09-22
使用Teleport Pro软件的朋友应该知道他是一个离线浏览器,而他更大的作用则是可以用来下载别人的整站,软件的功能虽然好,但是却有一个很头疼的缺点,那就是下载下来 的网页它会在图片标签内插入tppabs标签以记录该图片的原始地址。因为这个标签不是合法标签,所以普通浏览器会忽略它。如图所示:其实可以在 DreamWeaver中使用正则表达式批量清除tppabs标签. 具体写法如下: 匹配tppabs标签: \btppabs="h[^"]*" 替换为 (空) 匹配javas...