php通过分类列表产生分类树数组的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php通过分类列表产生分类树数组的方法。分享给大家供大家参考。具体分析如下:

这里$list 为分类列表数组,键为分类 ID,值为分类节点对象,pid 为父分类 ID

php代码如下:

$tree = array();
foreach ($list as $id => $row) {
 $pid = $row->pid;
 if ($pid == 0) {
  $tree[] = &$list[$id];
 } else if (isset($list[$pid])) {
  $parent = &$list[$pid];
  $parent->children[] = &$list[$id];
  // 增加 children 属性标识子分类列表
 }
}

希望本文所述对大家的php程序设计有所帮助。

相关文章

PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法

PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法

最近在做公司项目的时候,发现一个奇怪的问题,递交一个正常表单,竟然发现不能正常获取到递交的值,这一发现,不免让我开始的时候一头雾水,开始的时候一度认为是我的服务有问题,不能正常的写入数据...

用php实现让页面只能被百度gogole蜘蛛访问的方法

普通用户与搜索引擎蜘蛛爬行的区别在于发送的user agent,看网站日志文件能发现百度蜘蛛名字包含Baiduspider, 而google的则是Googlebot, 这样我们可以通过判...

PHP数组相加操作及与array_merge的区别浅析

发现问题 今天看到一段代码,是这么写的,感觉不熟悉,下面粘贴出来看看: <?php $array_one = [ 内容 ]; $array_two = [ 内容 ];...

解析php如何将日志写进syslog

在做项目的时候们为了方便运维,我们经常需要将系统日志写入系统syslog,下边我们就介绍一下,在linux下php对syslog的操作:在linux中配置syslog在linux中,fa...

php中array_unshift()修改数组key注意事项分析

本文实例分析了php中array_unshift()修改数组key注意事项。分享给大家供大家参考,具体如下: 众所周知,array_unshift()用来在数组的开头添加元素,但今天突然...