设计树状结构货品分类状态

 1 <?php
 2 header(‘Content-Type:text/html; charset=utf-8‘);
 3 $mp = array(
 4     ‘name‘ => ‘手机‘, ‘children‘ => array(
 5         array(‘name‘ => ‘非智能机‘),
 6         array(‘name‘ => ‘智能机‘, ‘children‘ =>array(
 7             array(‘name‘ => ‘安卓机‘),
 8             array(‘name‘ => ‘苹果机‘),
 9             array(‘name‘ => ‘WP机‘)
10         ))
11     )
12 );
13
14 $cp =array(
15     ‘name‘ => ‘电脑‘, ‘children‘ => array(
16         array(‘name‘ => ‘电脑整机‘, ‘children‘ => array(
17             array(‘name‘ => ‘笔记本‘),
18             array(‘name‘ => ‘超极本‘),
19             array(‘name‘ => ‘游戏本‘)
20         )),
21         array(‘name‘ => ‘电脑配件‘, ‘children‘ => array(
22             array(‘name‘ => ‘CPU‘),
23             array(‘name‘ => ‘主板‘)
24         ))
25     )
26 );
27
28 $goodsCats = array($mp, $cp);
29
30 //递归遍历$goodsCat中的所有元素
31 function tree($goodsCats, $deep=0){
32     //1:定义一个容器装所有的分类
33     static $tree = array();
34     //2:定义一个变量来记录分类的级别
35     ++$deep;
36     foreach($goodsCats as $goodsCat){
37         $treeCat = array(‘name‘ => $goodsCat[‘name‘]);  //将分类名字存放到数组中
38         $treeCat[‘deep‘] = $deep;                       //将分类级别也存放到数组中
39         $tree[] = $treeCat;                             //将每次循环的分类存放起来
40         //检查每个分类下是否有子分类,如果有,继续遍历
41         if(isset($goodsCat[‘children‘])){
42             tree($goodsCat[‘children‘],$deep);
43         }
44     }
45      return $tree;
46 }
47
48 $treeData = tree($goodsCats);
49
50 foreach($treeData as $catData){
51     echo str_repeat(‘------‘,($catData[‘deep‘]-1)).$catData[‘name‘]."<br/>";
52 }

时间: 2024-08-06 19:23:48

设计树状结构货品分类状态的相关文章

利用checkbox自带属性indeterminate构建含部分选中状态的树状结构

本来上个月就像发的,但是一直忙啊忙的也没时间整理,所以拖到了现在. 好吧上面这句就是废话,我就是感概下.下面是正文. 前段时间在弄一个轻量级的web项目,要构建一个树状结构目录,同时希望能把部分选中的状态给表现出来.项目中只用了jquery,个人也不想再引入一些其他的js框架或者插件,一个是考虑到界面展示的样式效果会不一样,另外就是懒得去研究啦. 话不多说,直接上测试图片和代码. Ps:我代码里还含有一些设置css以及属性等代码,需要参考的朋友请自动忽略.博文结尾处有我当时找到参考的外国网站上的

系统管理模块_部门管理_设计(映射)本模块中的所有实体并总结设计实体的技巧_懒加载异常问题_树状结构

系统管理模块_部门管理_设计本模块中的所有实体并总结设计实体的技巧 设计实体流程 1,有几个实体? 一般是一组增删改查对应一个实体. 2,实体之间有什么关系? 一般是页面引用了其他的实体时,就表示与这个实体有关联关系. 3,每个实体中都有什么属性? 1,主键.推荐使用代理主键 2,关联关系属性.在类图中,关联关系是一条线,有两端,每一端对应一个表达此关联关系的属性.有几个端指向本类,本类中就有几个关联关系属性. 3,一般属性.分析所有有关的页面,找出表单中要填写的或是在显示页面中要显示的信息等.

Android无限级树状结构

通过对ListView简单的扩展.再封装,即可实现无限层级的树控件TreeView. 1 package cn.asiontang.nleveltreelistview; 2 3 import android.annotation.TargetApi; 4 import android.content.Context; 5 import android.os.Build; 6 import android.util.AttributeSet; 7 import android.view.View

PostgreSQL递归查询实现树状结构查询

在Postgresql的使用过程中发现了一个很有意思的功能,就是对于需要类似于树状结构的结果可以使用递归查询实现.比如说我们常用的公司部门这种数据结构,一般我们设计表结构的时候都是类似下面的SQL,其中parent_id为NULL时表示顶级节点,否则表示上级节点ID. CREATE TABLE DEPARTMENT ( ID INTEGER PRIMARY KEY, NAME VARCHAR(32), PARENT_ID INTEGER REFERENCES DEPARTMENT(ID) );

算法 - 树状结构

写入速度 > 读取速度 存储树状结构(上)─领接表方式 写入速度 < 读取速度 1.存储树状结构(下)─预排序遍历树方式 2.预排序遍历树算法(非递归无限极分类算法)学习笔记

Hibernate学习笔记_关系映射_树状结构练习

1         树状结构的设计(至关重要) a) 在同—个类中使用One2Many和Many20ne @Entity public class Org { private int id; private String name; private Set<Org> children=new HashSet<Org>(); private Org parent; @Id @GeneratedValue public int getId() { return id; } public

优雅的处理树状结构——组合模式总结

1.前言 本模式经 遍历“容器”的优雅方法——总结迭代器模式 引出,继续看最后的子菜单的案例 2.组合模式的概念 组合模式,也叫 Composite 模式……是构造型的设计模式之一. 组合模式允许对象组合成树形结构,来表现“整体/部分”的层次结构,使得客户端对单个对象和组合对象的使用具有一致性. Composite Pattern Compose objects into tree structures to represent part-whole hierarchies. Composite

在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构

将实体绑定到TreeView控件,实现树状结构的显示,如下图所示.这个功能通过HierarchicalDataTemplate实现. ? 1. 业务实体 作为举例,我定义了一个大家都很熟悉的Folder类型,即文件夹.我们都知道,文件夹又可以包含子文件夹,而且可以多层嵌套.所以,这是一个递归的结构体. public class Folder { public string Name { get; set; } public ObservableCollection<Folder> Folder

c# 递归、树状结构

1.树状结构 treeView.Nodes.Clear(); TreeNode tree = new TreeNode(); tree.Text = "字母"; treeView.Nodes.Add(tree); // tree.Nodes.Add("A"); TreeNode tree1 = new TreeNode(); tree1.Text = "汉字"; treeView.Nodes.Add(tree1); TreeNode a = ne