" />
搜索

快乐10分钟技巧:九街 | 白开水的博客

写作即是思考!做一个有准备的人

最新热文章

博文分类

当前位置:黑龙江快乐十分网址>PHP技术>php实现无限级分类

php实现无限级分类

  1. /**   
  2. * author: askie   
  3. * blog: //www.pkphp.com   
  4. * 版权: 随便用   
  5. * 无限分类   
  6. */   
  7. class Tree   
  8. {   
  9. public $data=array();   
  10. public $cateArray=array();   
  11.  
  12. function Tree()   
  13. {   
  14.  
  15. }   
  16. function setNode ($id, $parent, $value)   
  17. {   
  18. $parent = $parent?$parent:0;   
  19. $this->data[$id] = $value;   
  20. $this->cateArray[$id] = $parent;   
  21. }   
  22. function getChildsTree($id=0)   
  23. {   
  24. $childs=array();   
  25. foreach ($this->cateArray as $child=>$parent)   
  26. {   
  27. if ($parent==$id)   
  28. {   
  29. $childs[$child]=$this->getChildsTree($child);   
  30. }   
  31.  
  32. }   
  33. return $childs;   
  34. }   
  35. function getChilds($id=0)   
  36. {   
  37. $childArray=array();   
  38. $childs=$this->getChild($id);   
  39. foreach ($childs as $child)   
  40. {   
  41. $childArray[]=$child;   
  42. $childArray=array_merge($childArray,$this->getChilds($child));   
  43. }   
  44. return $childArray;   
  45. }   
  46. function getChild($id)   
  47. {   
  48. $childs=array();   
  49. foreach ($this->cateArray as $child=>$parent)   
  50. {   
  51. if ($parent==$id)   
  52. {   
  53. $childs[$child]=$child;   
  54. }   
  55. }   
  56. return $childs;   
  57. }   
  58. //单线获取父节点   
  59. function getNodeLever($id)   
  60. {   
  61. $parents=array();   
  62. if (key_exists($this->cateArray[$id],$this->cateArray))   
  63. {   
  64. $parents[]=$this->cateArray[$id];   
  65. $parents=array_merge($parents,$this->getNodeLever($this->cateArray[$id]));   
  66. }   
  67. return $parents;   
  68. }   
  69. function getLayer($id,$preStr=’|-’)   
  70. {   
  71. return str_repeat($preStr,count($this->getNodeLever($id)));   
  72. }   
  73. function getValue ($id)   
  74. {   
  75. return $this->data[$id];   
  76. } // end func   
  77. }   
  78.  
  79. $Tree = new Tree(”请选择分类”);   
  80. //setNode(目录ID,上级ID,目录名字);   
  81. $Tree->setNode(1, 0, ‘目录1′);   
  82. $Tree->setNode(2, 1, ‘目录2′);   
  83. $Tree->setNode(5, 3, ‘目录5′);   
  84. $Tree->setNode(3, 0, ‘目录3′);   
  85. $Tree->setNode(4, 2, ‘目录4′);   
  86. $Tree->setNode(9, 4, ‘目录9′);   
  87. $Tree->setNode(6, 2, ‘目录6′);   
  88. $Tree->setNode(7, 2, ‘目录7′);   
  89. $Tree->setNode(8, 3, ‘目录8′);   
  90.  
  91. //print_r($Tree->getChildsTree(0));   
  92. //print_r($Tree->getChild(0));   
  93. //print_r($Tree->getLayer(2));   
  94.  
  95. $category = $Tree->getChilds();   
  96.  
  97. //遍历输出   
  98. foreach ($category as $key=>$id)   
  99. {   
  100. echo $id.$Tree->getLayer($id, ‘|-’).$Tree->getValue($id).” ”;   
  101. }   
  102.  
  103. ?>

该日志由九街发表在分类下,你可以至底部留下评论。

原创文章转载请注明:黑龙江快乐十分网址[黑龙江快乐十分网址]

【上一篇】 fckconfig.js 的配置对应名称

【下一篇】 第九街

您可能还会对这些文章感兴趣!

向右箭头向左箭头

返回顶部 黑龙江快乐十分网址

  • 中国质量提升高峰论坛暨2017“人民匠心奖”颁奖盛典 2018-07-25
  • 晋中市通报五起违反中央八项规定精神问题 2018-07-25
  • 【黑河天气】最新黑河今天天气,实时提供黑河气温、空气质量、24小时天气预报、生活指数查询 2018-07-25
  • 巢湖市第三届少儿器乐比赛圆满落幕 2018-07-24
  • 【大家谈】激励实干担当,谱写奋斗“进行曲” 2018-07-24
  • 庆祝中国人民解放军建军90周年大会在人民大会堂举行 2018-07-24
  • 员工持股计划再现大股东“兜底”:保本+年化收益10% 2018-07-24
  • 看了许魏洲的演唱会服装才知道他时尚资源有多少 2018-07-23
  • 为应对督察 江苏如皋一工厂违法掩埋危险废物 2018-07-23
  • 互联网+文化,浓了年味新了民俗 2018-07-23
  • 来自十多个国家的外国使节在京品民俗、过端午 2018-07-22
  • 追梦格林G4赛后曾拒绝与TT握手 2018-07-22
  • 正定--河北频道--人民网 2018-07-22
  • [大笑]精神心理科医生在等你…… 2018-07-21
  • 特朗普所谓交易的艺术,实质上是勒索的艺术。 2018-07-21
  • 322| 246| 407| 968| 133| 637| 892| 271| 183| 581|