有一个数组包含K个元素。从这个数组中获取N < K个项目的块的最佳方法是什么?
输入示例:
$x = [1,2,3,4,5,6,7,8,9,10]; // K = 10
当N = 3时,预期结果;
$x1 = [1,2,3];
$x2 = [4,5,6];
$x3 = [7,8,9];
$x4 = [10];
显然,不需要将结果存储在变量中。只要可以通过foreach(或任何其他迭代逻辑)处理它,就应该没问题。array_slice
的问题是它没有从数组的开头删除N片。array_shift
的问题是它不支持一次移动多个项目。还有什么比在array_shift
上迭代更优雅的吗?
3条答案
按热度按时间p5cysglq1#
array_chunk
是你需要的。输出:
ojsjcaue2#
查看array_chunk -> http://www.w3schools.com/php/func_array_chunk.asp
或者你可以这样做
有人能告诉我哪种方法更有效吗?
6ojccjat3#
array_chunk函数用于创建大小相等的子数组。例如