Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将具有n个值的数组分块到n个部分?_Php_Arrays - Fatal编程技术网

Php 如何将具有n个值的数组分块到n个部分?

Php 如何将具有n个值的数组分块到n个部分?,php,arrays,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_arr

我有一个带有
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);
$array=array();
for($i=1;$i将每个“块”的大小作为一个参数,而不是要生成的块的数量。通过将数组的大小除以所需的数字,可以很容易地从另一个中派生出一个:

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

唯一不明显的部分可能是对的调用,这可以确保您不会因为溢出而导致额外的数据块。

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

list($left, $right) = array_chunk($large_array, ceil(count($large_array) / 2));
这里$large_数组是一个大数组。 在列表($left,$right)中,我们传递了两个参数

这里$large_数组除以两个小数组就是$left和$right


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

您的意思是一个数组中有8500万个单独的值?“这里数组由4个值分块到2个部分。”--您的输入数组包含9个条目,
array_chunk()
生成3个块。您的问题是什么?如何将
85487945
除以
4
?在您的计算机上,在大范围内不可能用舍入法分割数组?或者数组中的值总是可以除以4?@axiacIn函数
array\u chunk()
,断开一个数组并不能告诉奇数或偶数在哪里被等分。@axiac