有一個包含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'正是我所需要的。 –