2013-08-06 5 views
0

배열을 가져와 부모와 자식으로 새로운 다차원을 만들려고합니다. 내가 생각하기에 가까이 다가 갈 수는 있지만, 여전히 올바르게 보이지는 않습니다.다차원 배열 Foreach 트리

$value->menu_item_parent //Contains the parent value that can be used for key 

내가 뭘까요?

$the_mega = array(); 
foreach ($menuitems as $key => $value) { 
    if ($value->menu_item_parent=='0') { 
     $the_mega["parents"][]=$value->title; 
    }else{ 
     $the_mega[$value->title]["childs"]=$value->title; 
    }  
} 
} 
echo '<pre>'; 
print_r($the_mega); 
echo '</pre>'; 

Array 
(
    [parents] => Array 
     (
      [0] => Parent 1 
      [1] => Parent 2 
     ) 

    [Child 1] => Array 
     (
      [childs] => Child 1 
     ) 

    [Child 2] => Array 
     (
      [childs] => Child 2 
     ) 

    [Child 3] => Array 
     (
      [childs] => Child 3 
     ) 

) 
+0

당신은'$의 menu_items'의 위해서 var_dump 또는 인 print_r을 게시 할 수 있습니까? – MightyPork

+0

나는 아직 목표에 대해 조금 분명하지 않다. 최종 배열이 어떻게 보이는지 샘플 출력을 게시 할 수 있다고 생각하십니까? – Katana314

+1

정확히 달성하고자하는 것은 무엇입니까? Child1/2 모두 [0]의 요소가되어야합니까? – MBaas

답변

0

이 시도 :

$the_mega = array(); 
foreach ($menuitems as $key => $value) { 
    if ($value->menu_item_parent=='0') { 
     $the_mega[$key]['parents'][]=$value->title; 
    }else{ 
     $the_mega[$value->title]['childs'][]=$value->title; 
    }  
} 
+0

자녀가 각 부모의 배열이 될 수있는 방법은 무엇입니까? – Codex73

+0

은 위 코드를 업데이트했습니다. –