将数组分割成几个部分,并在新数组中添加每两个项


Split array into pieces and add every next two items in a new array

我有一个数组,如:

$list = array('a', 'b', 'c', 'd', 'e',
              'f', '1', '2', '3', '4',
              '5', '6', '7', '8', '9');

我想拆分这个数组,并将每两个项添加到一个新数组中作为一个组,如:

$new_list = array(
    array('a', 'b'),
    array('c', 'd'),
    array('e', 'f'),
    array('1', '2'),
    array('3', '4'),
    array('5', '6'),
    array('7', '8'),
    array('9'), // note that this one here is alone!
);

但是我想用foreach或其他东西来做这个。我只知道我可以用2来划分我的数组长度,并使用roundfloor PHP函数来得到一个整数,但我不知道如何将这个数组的项目分组为每个数组的两个项目。

请帮帮我,我的脑子都满了

$list = ['a', 'b', 'c', 'd', 'e',
    'f', '1', '2', '3', '4',
    '5', '6', '7', '8', '9'];
$list2 = [];
$c = 0;
$temp_array = [];
for ($i = 0; $i < Count($list); $i++)
{
    $c++;
    array_push($temp_array, $list[$i]);
    if ($c >= 2)
    {
        array_push($list2, $temp_array);
        $temp_array = [];
        $c = 0;
    }
}
print_r($list2);
echo '<br />List2: ' . count($list2) . '<br />List: ' . count($list);

EDIT:或者Mark Baker提供的array_chunk()函数的解决方案。