我有一个数组,其中包含200-7000个值之间的任何值。我想根据定义的值将此数组拆分为较小的块。
例如:
该数组有1731个值,我想将其分解为更小的数组,每个数组只有 50 值。
这是怎么做到的?我坚持的部分是让它分解为每个50个值。
提前谢谢。
答案 0 :(得分:5)
https://www.php.net/array_chunk
array_chunk($ array,50)返回一个数组,每个值都是一个数组,每个数组都有50个值来自$ array。
//make an array with numbers from 1 to 500
$array = range(1, 500);
//break that array up into chunks of 50.
$newArray = array_chunk($array, 50);
//display the new array
var_dump($newArray);
答案 1 :(得分:0)
使用数组块功能:
将数组块化为大块大块。最后一个块可能包含少于大小的元素。
用法:
array array_chunk ( array $input , int $size [, bool $preserve_keys = false ] )
示例:
输入:
<?php
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2, true));
?>
输出:
Array
(
[0] => Array
(
[0] => a
[1] => b
)
[1] => Array
(
[0] => c
[1] => d
)
[2] => Array
(
[0] => e
)
)
Array
(
[0] => Array
(
[0] => a
[1] => b
)
[1] => Array
(
[2] => c
[3] => d
)
[2] => Array
(
[4] => e
)
)
因此,如果您有array
名为$a
,则可以使用:
$components = array_chunk($a, 50, true);
答案 2 :(得分:0)
例如:
$array = range(1, 1731);
if(count($array) => 200 || count($array) <= 7000)){
$split = array_chunk($input_array, 50, true);
} else {
$split = $array;
}
var_export($split);
如果初始数组的计数器超过200且低于7000,则 $split
将有大约35个数组