我有一个这样的数组:
array('one','two','three','four','five','six','seven')
我正在使用foreach迭代这个,我想构建一个这样的数组:
array(
array('one'),
array('two')
),
array(
array('three'),
array('four')
),
array(
array('three'),
array('five')
),
array(
array('six'),
array('seven')
)
有关如何做的任何建议?
谢谢!
答案 0 :(得分:6)
使用array_chunk。 从PHP手册:
数组array_chunk(数组$ input,int $ size [,bool $ preserve_keys = false])
将数组块化为大块大块。最后一块可能 包含小于元素的元素。
在您的情况下,您需要$output_array = array_chunk($input_array, 2);
然后,如果你想将叶子转换为数组:
function leaves_to_array(&$item, $key)
{
if (!is_array($item))
$item = array($item);
}
array_walk_recursive($output_array, 'leaves_to_array');