1

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

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

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

我想根据值将我$array1的数组分成更小的数组$array2,因为前 30 个整数$array1将组成单独的数组,后面的 40 个整数$array1将组成第二个新数组,依此类推。从上面的示例中将有 5 个新数组。

谁能帮帮我吗。

我在下面尝试过它可以根据分配的值进行划分。但这没有用

$arrays = array_chunk($array1, 30);
4

2 回答 2

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);
}
于 2013-04-04T11:24:10.310 回答
0

你为什么不试试这个

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

       {
       for($i = $startingPoint ; $i < $startingPoint + $val ; $i++)
        { $array1[$i]  }
        $startingPoint += $val
       }
于 2013-04-04T11:23:00.147 回答