Php 分割数组并创建新数组

Php 分割数组并创建新数组,php,Php,我有这样的数组 array (size=6) 0 => string '2 16 10 4 0 0 0 0 0' 1 => string '0 0 0 4' 2 => string '2 15 8 6 0 0 0 0 0' 3 => string '0

我有这样的数组

array (size=6)
  0 => string '2      16     10     4      0      0      0      0      0'     
  1 => string '0      0      0      4' 
  2 => string '2      15     8      6      0      0      0      0      0' 
  3 => string '0      0      0      3' 
  4 => string '3      18     12     5      0      0      0      0      0' 
  5 => string '0      0      0      2'
我想分割数组并创建一个新数组,如

array1 (size = 1)
0 => '2 16 10 4 0 0 0 0 0 0 0 0 0 4'

array2 (size = 1)
0 => '2 15 8 6 0 0 0 0 0 0 0 0 3'

array3 (size = 2)
0 => '3 18 12 5 0 0 0 0 0 0 0 0 2'
array\u chunk()
工作正常。但是它不支持我的数组

您可以通过和
foreach()

$new_array = array_chunk($original_array,2);

$final_array = [];

foreach($new_array as $arr){
 $final_array[] = $arr[0].' '.$arr[1];
}

print_r($final_array);
$new_array = array_chunk($original_array,2);

$final_array = [];

foreach($new_array as $arr){
 $final_array[] = preg_replace('/\s+/', ' ', $arr[0]).' '.preg_replace('/\s+/', ' ', $arr[1]);
}

print_r($final_array);
输出:-

注意:-如果要删除字符串之间的额外空格,请使用

输出:-

使用
数组块($array\u name,2)

上面将返回多维数组。

方法#1:()

方法#2()

两种输出:

array (
  0 => '2 16 10 4 0 0 0 0 0 0 0 0 4',
  1 => '2 15 8 6 0 0 0 0 0 0 0 0 3',
  2 => '3 18 12 5 0 0 0 0 0 0 0 0 2',
)

令我惊讶的是,使用小样本数据集时,方法#1实际上要稍微快一点(但不是很明显)。

StackOverflow不是一种编码服务。请提供您迄今为止所尝试的代码片段。@a不,这不是正确的行为。一次又一次地编辑问题和询问代码是不正确的。关于这一点,你必须提出新的问题。谢谢,先生,请帮忙me@Athi正如我所说,通过将问题还原到上一个问题并将答案标记为已接受来结束此问题,然后提出一个新的问题输入+代码努力\预期结果。你肯定会得到答案的。你可以给我地址的链接,如果我有空,我也会回答。
$pairs=array_chunk(preg_replace('/\s+/',' ',$array),2);  // reduce spacing and pair elements
foreach($pairs as $pair){
    $result[]="{$pair[0]} {$pair[1]}";  // concat 2 elements at a time
}

var_export($result);
array (
  0 => '2 16 10 4 0 0 0 0 0 0 0 0 4',
  1 => '2 15 8 6 0 0 0 0 0 0 0 0 3',
  2 => '3 18 12 5 0 0 0 0 0 0 0 0 2',
)