У меня есть дерево решение, но я хочу, чтобы преобразовать его в массив …
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; }
Я хочу, чтобы эта древовидная структура была в виде массива. Может ли кто-нибудь уже сделать, пожалуйста, помогите …. массив формата …………
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; }