2012-03-26 9 views
0

을하고 난 기본적으로는 숫자 키가없는 배열의 첫 번째 수준을 삭제하고 배열을 구축하려는 :변경 나는 큰 다차원 배열을 다차원 배열

나의 현재 배열 :

Array 
(
    [0] => Array 
     (
      [block_header14] => Array 
       (
        [type] => block_header 
        [caption] => Silver 
        [collapsable] => 1 
        [collapsed] => 
       ) 

      [section14] => Array 
       (
        [type] => checkbox_set 
        [name] => purchasable_memberships14 
        [caption] => Available Memberships 
        [values] => Array 
         (
          [14] => Silver 
          [15] => Gold 
         ) 

        [value] => 
       ) 

     ) 

    [1] => Array 
     (
      [block_header15] => Array 
       (
        [type] => block_header 
        [caption] => Gold 
        [collapsable] => 1 
        [collapsed] => 
       ) 

      [section15] => Array 
       (
        [type] => checkbox_set 
        [name] => purchasable_memberships15 
        [caption] => Available Memberships 
        [values] => Array 
         (
          [14] => Silver 
          [15] => Gold 
         ) 

        [value] => 
       ) 

     ) 

) 

내가 끝낼 싶은이 :

Array 
    (
     [block_header14] => Array 
      (
       [type] => block_header 
       [caption] => Silver 
       [collapsable] => 1 
       [collapsed] => 
      ) 

     [section14] => Array 
      (
       [type] => checkbox_set 
       [name] => purchasable_memberships14 
       [caption] => Available Memberships 
       [values] => Array 
        (
         [14] => Silver 
         [15] => Gold 
        ) 

       [value] => 
      ) 

     [block_header15] => Array 
      (
       [type] => block_header 
       [caption] => Gold 
       [collapsable] => 1 
       [collapsed] => 
      ) 

     [section15] => Array 
      (
       [type] => checkbox_set 
       [name] => purchasable_memberships15 
       [caption] => Available Memberships 
       [values] => Array 
        (
         [14] => Silver 
         [15] => Gold 
        ) 

       [value] => 
      )  
    ) 

편집 : 나는 초기 foreach는 재 작업 및 추가 단계를 생략 : 모호한 질문

죄송합니다 16,
foreach ($aMemLevels as $id =>$name) { 
      $aForm['inputs']['block_header'.$id] = array(
        'type' => 'block_header', 
        'caption' => 'Available to ' . $name . ' Members', 
        'collapsable' => true, 
        'collapsed' => false 
      ); 
      $aForm['inputs']['section'.$id] = array(
        'type' => 'checkbox_set', 
        'name' => 'purchasable_memberships'.$id, 
        'values' => getMemberships(true), 
        'value' => $aValue, 
      ); 
     } 
+1

내 머리 꼭대기에서 원래 기능을 생각할 수는 없지만 foreach, foreach, 새 배열에 다시 할당 하시겠습니까? Voilà. – Josh

+0

지금까지 시도한 것은 무엇입니까? 이것은 꽤 사소한 것입니다. 'foreach ($ array as $ sub) {foreach ($ sub as $ key => $ subval) {$ output [$ key] = $ subval;}}' –

답변

2
$new_array = array(); 
foreach($array as $value) { 
    $new_array = array_merge($new_array, $value); 
} 

print_r($new_array); 
1

나는 그것을 테스트하지 않은,하지만 어쩌면 이런 일이 도움이 될 것입니다?

$new_array = array(); 
foreach ($multi_array as $inner_arr) { 
    $new_array = array_merge($new_array, $inner_array); 
} 

$ multi_array 초기, 다차원 배열 ...

가 작동하는지 알려줘 것.