当前位置 : 主页 > 网络编程 > PHP >

category.php

来源:互联网 收集:自由互联 发布时间:2021-06-28
category.php 1, 'name'='关于我们', 'parent_id'=0],['id'=2, 'name'='品牌产品', 'parent_id'=0],['id'=101, 'name'='公司概况', 'parent_id'=1],['id'=102, 'name'='企业文化', 'parent_id'=1],['id'=103, 'name'='品牌介绍', 'parent
category.php
 1, 'name'=>'关于我们', 'parent_id'=>0],
	['id'=>2, 'name'=>'品牌产品', 'parent_id'=>0],
	
	['id'=>101, 'name'=>'公司概况', 'parent_id'=>1],
	['id'=>102, 'name'=>'企业文化', 'parent_id'=>1],
	
	['id'=>103, 'name'=>'品牌介绍', 'parent_id'=>2],
	['id'=>104, 'name'=>'产品服务', 'parent_id'=>2]
	
];

/**
*
*  php二级分类遍历
*/
function demo($list,$pid=0) {
	$arr = [];
	$tree= [];
	foreach ($list as $value) {
		$arr[$value['parent_id']][]=$value;
	}
	
	foreach ($arr[$pid] as $key=>$val) {
		$tree[$key][] = $val;
		foreach ($arr[$val['id']] as $v) {
			$tree[$key]['son'][]=$v;
		}
	}
	return $tree;
}

$list = demo($category);
echo '
';
print_r($list);


/**
*
*  php多级数据遍历
*/
function getTree($list, $pid = 0) {
	$tree = [];
	if (!empty($list)) {
		//先修改为以id为下标的列表
		$newList = [];
		foreach ($list as $k => $v) {
			$newList[$v['id']] = $v;
		}
		//然后开始组装成特殊格式
		foreach ($newList as $value) {
			if ($pid == $value['parent_id']) {//先取出顶级
				$tree[] = &$newList[$value['id']];
			} elseif (isset($newList[$value['parent_id']])) {
				//再判定非顶级的pid是否存在,如果存在,则再pid所在的数组下面加入一个字段items,来将本身存进去
				$newList[$value['parent_id']]['items'][] = &$newList[$value['id']];
		}
	}
}    return $tree;
}
上一篇:test.php
下一篇:funbase-hayden.php
网友评论