這篇文章主要介紹了php遞歸實現無限分類的方法,涉及php遞歸遍歷的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了php遞歸實現無限分類的方法。分享給大家供大家參考。具體如下:
- <?php
- $rows = array(
- array(
- 'id' => 1,
- 'name' => 'dev',
- 'parentid' => 0
- ),
- array(
- 'id' => 2,
- 'name' => 'php',
- 'parentid' => 1
- ),
- array(
- 'id' => 3,
- 'name' => 'smarty',
- 'parentid' => 2
- ),
- array(
- 'id' => 4,
- 'name' => 'life',
- 'parentid' => 0
- ),
- array(
- 'id' => 5,
- 'name' => 'pdo',
- 'parentid' => 2
- ),
- array(
- 'id' => 6,
- 'name' => 'pdo-mysql',
- 'parentid' => 5
- ),
- array(
- 'id' => 7,
- 'name' => 'java',
- 'parentid' => 1
- )
- );
- // 72648
- // 84072
- function findChild(&$arr,$id){
- $childs=array();
- foreach ($arr as $k => $v){
- if($v['parentid']== $id){
- $childs[]=$v;
- }
- }
- return $childs;
- }
- function build_tree($root_id){
- global $rows;
- $childs=findChild($rows,$root_id);
- if(empty($childs)){
- return null;
- }
- foreach ($childs as $k => $v){
- $rescurTree=build_tree($v[id]);
- if( null != $rescurTree){
- $childs[$k]['childs']=$rescurTree;
- }
- }
- return $childs;
- }
- $tree=build_tree(0);
- echo memory_get_usage();
- print_r($tree);
- ?>
希望本文所述對大家的php程序設計有所幫助。
新聞熱點
疑難解答