2012-03-26 45 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和跳过额外的步骤:很抱歉的模糊问题

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,重新分配给新的数组?瞧。 – Josh 2012-03-26 15:45:55

+0

你到目前为止尝试过什么?这非常简单。 'foreach($ array as $ sub){foreach($ sub as $ key => $ subval){$ output [$ key] = $ subval;}}'' – 2012-03-26 15:47:37

回答

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的是你最初的,多维数组...

让我知道是否可行。