将数组划分为更小的数组

时间:2013-04-04 11:19:53

标签: php arrays multidimensional-array

我有200个整数值的第一个$array1$array1个整数值是随机值,第二个数组如下所示

$array2= array('30','40,'70','30','30');

两个数组都是动态生成的。

我希望根据$array1值将$array2划分为更小的数组,因为来自$array1的前30个整数将生成单独的数组,之后来自$array1的40个整数将制作第二个新阵列,依此类推。从上面的例子中将有5个新阵列。

任何人都可以帮助我。

我在下面尝试过它可以根据指定的值进行划分。但它没用“

$arrays = array_chunk($array1, 30);

2 个答案:

答案 0 :(得分:2)

您应该迭代块大小数组并每次切断输入数组的适当部分:

$input = range(0, 199);
$chunks = array(30, 40, 70, 30, 30);
$output = array();
$processed = 0;

while($chunks) {
    $processed += $size = array_shift($chunks);
    $output[] = array_slice($input, $processed, $size);
}

答案 1 :(得分:0)

你为什么不试试这个

       $startingPoint = 0;
       foreach($array2 as $val)

       {
       for($i = $startingPoint ; $i < $startingPoint + $val ; $i++)
        { $array1[$i]  }
        $startingPoint += $val
       }