【问题标题】:Split array into multi sub arrays将数组拆分为多个子数组
【发布时间】:2016-01-17 05:25:03
【问题描述】:

我有一个包含多个索引的多数组,我需要能够将数组拆分为具有 2 个索引的多个数组,我的代码如下

查询返回一个数组,然后我循环认为它使其成为一个多数组,然后采用特定的索引并重建数组,但是当我尝试将最终结果拆分为具有数组块的较小数组时,它简单地返回相同的数组。

$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);

$output 返回的数组

 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
        ]
      ]
    ]

【问题讨论】:

    标签: php arrays multidimensional-array foreach


    【解决方案1】:

    试试这个

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

    【讨论】:

      猜你喜欢
      • 2016-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多