2012-10-01 201 views
-1

我有休耕多维数组结构:展开第二级阵列

array 
    '2012-10-02' => 
    array 
     0 => 
     array 
      'item1' => 
      array 
       ... 

    '2012-10-03' => 
    array 
     0 => 
     array 
      'item1' => 
      array 
       ... 

如何解开项目阵列,这样的结构将是这样的:

array 
    '2012-10-02' => 
    array 
     'item1' => 
      array 
      ... 
    '2012-10-03' => 
     array 
     'item1' => 
      array 
      ... 

回答

2

您需要遍历该阵列以及每个项目将$item[0]“提升”到$item曾经拥有的位置。因此,例如:

foreach($input as &$element) { // by reference! 
    $element = $element[0]; 
} 

// not strictly required, but prevents you from accidentally messing with 
// $element outside of the loop (which would almost certainly be a bug) 
unset($element); 
0

你应该尝试使用array_map返回的第一个元素

$array = array("2012-10-02" => array(array("item1"=>array())),"2012-10-03" => array(array("item1"=>array()))); 

#before 
var_dump($array); 

$array = array_map(function($var) {return $var[0];} , $array); 

#after 
var_dump($array); 

array 
    '2012-10-02' => 
    array 
     0 => 
     array 
      'item1' => 
      array 
       ... 
    '2012-10-03' => 
    array 
     0 => 
     array 
      'item1' => 
      array 
       ... 

array 
    '2012-10-02' => 
    array 
     'item1' => 
     array 
      empty 
    '2012-10-03' => 
    array 
     'item1' => 
     array 
      empty