2016-01-17 182 views
-2

我有一個多陣列與幾個指數和我需要能夠將陣列分成多個陣列2個索引分裂,我的代碼是下面拆分陣列爲多子陣列

查詢返回的數組i,那麼循環認爲它使它成爲一個多數組,然後採取特定的索引並重建數組,但是當我試圖將最終結果拆分爲具有數組塊的較小數組時,它簡單地返回相同的數組。

$query = DB::Table('StockHistory') 
      ->select('price_1','day_1','price_2','day_2','price_3','day_3','price_4','day_4','price_5','day_5') 
      ->where('id', '=', $id)->get(); 
     $fields = []; 
     foreach($query as $ind => $val) { 
      foreach($val as $x => $y){ 
       $fields[] = [$x, $y]; 
      } 
     } 
     $data = [ $fields ]; 
     $output = array_map(function($value) { 
      return [ $value[1][1], 
         $value[0][1], 
         $value[3][1], 
         $value[4][1], 
         $value[5][1], 
         $value[6][1]]; 
     }, $data); 
     $a = array_chunk($output, 2, false); 

返回的數組$輸出

array:1 [▼ 
    0 => array:1 [▼ 
    0 => array:6 [▼ 
     0 => "2016-01-06" 
     1 => 10 
     2 => "2016-01-12" 
     3 => 16 
     4 => "2016-01-18" 
     5 => 17 
    ] 
    ] 
] 

所需的陣列

array:1 [▼ 
    0 => array:1 [▼ 
    0 => array:6 [▼ 
     0 => "2016-01-06" 
     1 => 10 
    1 => array:2[▼ 
     0 => "2016-01-12" 
     1 => 16 
    2 => array:2[▼ 
     0 => "2016-01-18" 
     1 => 17 
     ] 
     ] 
    ] 

回答

1

只是試試這個

<?php $a=array_chunk($output[0][0], 2, false); ?>