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