我有一个$ array = array(),它有很多元素。我想要一个$ parent_array,其中$ parent_array的每个元素都是一个数组,它连续包含来自$ array的3个元素。
所以我想要完成的具体例子
$array = ('a','b','c','d','e','f','g','h','i','j');
$parent_array = (array('a','b','c'),array('d','e','f'), array('g','h','i'), array('j'));
请注意,如果$数组中只有1,2或3个元素,我需要这个。大多数时候它有数百个。
由于
答案 0 :(得分:4)
array_chunk()
正是您所寻找的:
$parent_array = array_chunk($array, 3);
根据您的示例,将输出:
array
0 =>
array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
1 =>
array
3 => string 'd' (length=1)
4 => string 'e' (length=1)
5 => string 'f' (length=1)
2 =>
array
6 => string 'g' (length=1)
7 => string 'h' (length=1)
8 => string 'i' (length=1)
3 =>
array
9 => string 'j' (length=1)
答案 1 :(得分:2)
数组块是你的朋友;)
$array = array('a','b','c','d','e','f','g','h','i','j');
$result = array_chunk($array, 3);
var_dump($result);
答案 2 :(得分:2)
尝试
$myArray = ('a','b','c','d','e','f','g','h','i','j');
$parent = array_chunk($myArray,3);
答案 3 :(得分:0)
$i = 0;
$j = 0;
$parent_array = array();
foreach($array as $val)
{
if ($i++ % 3 == 0)
{
$parent_array[++$j] = array();
$parent_array[$j][] = $val;
}
$ parent_array将是一个二维数组。