2012-10-01 101 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