2016-01-17 183 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); ?>