如何将具有n个值的数组块化为n个部分?

时间:2017-10-30 13:56:04

标签: php arrays

我有一个n值的数组,我必须把它分块到n部分。例如,我有85487945值的数组(字符串),我必须将其分为4个部分。 ?在php中有具有n个值的块数组的函数。简单使用:

$array = array();
for($i = 1; $i <= 8; $i++){
    $array[$i] = rand(234, 4364356);
}

$chunked_array = array_chunk($array, 4, true);

print_r($chunked_array);

这里的数组由4个值组成2个部分。我如何将85487945值的块数组分为n个部分并使用它?

2 个答案:

答案 0 :(得分:4)

array_chunk取每个&#34; chunk&#34;的大小。作为参数,而不是要产生的块的数量。您可以通过将数组的大小除以所需的数字来轻松地从另一个派生出一个:

$size = ceil(count($array) / 4);
$chunked_array = array_chunk($array, $size, true);

唯一不明显的部分可能是对ceil的调用,这可以确保您不会在一个额外的块中出现一些溢出。

答案 1 :(得分:0)

将一个大元素数组分成两个相等的部分是一种简单的方法。

list($left, $right) = array_chunk($large_array, ceil(count($large_array) / 2));

这里$ large_array是一个大数组。  在列表中($ left,$ right),我们传递两个参数

这里$ large_array除以$ left和$ right。

之后,您可以使用foreach从两个小数组中获取值。