将树结构转换为php数组 [英] convert tree structure into php array

查看:318
本文介绍了将树结构转换为php数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有树的解决方案,但我想将其转换为数组...

i have the tree solution but i want to convert it into array ...

 function generatePageTree($datas , $parent = 0)
$tree = '<ul>';
for($i=0, $ni=count($datas); $i < $ni; $i++){
    if($datas[$i]['parent_id'] == $parent){
        $tree .= '<li>';
        $tree .= $datas[$i]['ledger_account_name'];
        $tree .= $this->generatePageTree($datas, $datas[$i]['ledger_account_id']);
        $tree .= '</li>';
    }
}
    $tree .= '</ul>';
return $tree;
}

我想要此树形结构的数组形式。请帮助。...
数组格式.........

i want this tree structure in form of array.. can any one already done please help.... array format............

 array(
      id=>100, parentid=>0, name=>'a', children=>array(
        id=>101, parentid=>100, name=>'a', children=>array(
          id=>102, parentid=>101, name=>'a',
          id=>103, parentid=>101, name=>'a',
        )
      )
    )


推荐答案

function buildTree(array $elements, $parentId = 0) {
          $branch = array();

          foreach ($elements as $element) {

              if ($element['parent_id'] == $parentId) {
                  $children = $this->buildTree($elements, $element['ledger_account_id']);

                  if ($children) {

                      $element['children'] = $children;

                  }
                  $branch[$element['ledger_account_id']] = $element;
              }
          }

          return $branch;
      }

这篇关于将树结构转换为php数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆