有一个包含K个元素的数组。从这个阵列中获取大量N < K项目的最佳方式是什么?从数组开头移位/切片N个元素
示例输入:
$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
迭代更优雅?
看一看'array_chunk' http://in1.php.net/manual/en/function.array-chunk.php –
'array_chunk'是解决整个问题,但我认为,你正在寻找的函数是'array_splice'。 – Barmar
'array_chunk'正是我所需要的。 –