當前位置: 首頁> 最新文章列表> 基礎使用:如何將數組拆分成固定大小的塊

基礎使用:如何將數組拆分成固定大小的塊

M66 2025-04-25

在PHP中, array_chunk()是一個非常有用的函數,它可以將一個大數組拆分成多個小數組。這個函數特別適合在處理大量數據時,將數據拆分成更小的部分以便更高效地進行處理。

array_chunk() 函數簡介

array_chunk()函數用於將數組分割成多個小數組,返回的是一個包含多個小數組的二維數組。每個小數組的大小由你指定,如果原數組的長度不能正好被小數組大小整除,最後一個小數組可能會包含剩餘的元素。

函數原型:

 array_chunk(array $array, int $size, bool $preserve_keys = false): array

參數說明:

  • $array :輸入的原始數組。

  • $size :每個小數組的大小。

  • $preserve_keys (可選):是否保留原數組的鍵名。如果設置為true ,原數組的鍵名將會被保留;如果是false (默認值),鍵名將會被重新編排成從0開始的數字索引。

返回值:

該函數返回一個二維數組,包含多個小數組。

示例代碼:

假設我們有一個大數組,需要將它拆分成多個小數組:

 <?php
// 原始大數組
$bigArray = range(1, 15);

// 使用 array_chunk 拆分數組,每個小數組包含 4 個元素
$chunkedArray = array_chunk($bigArray, 4);

// 輸出結果
print_r($chunkedArray);
?>

輸出結果:

 Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
            [3] => 4
        )

    [1] => Array
        (
            [0] => 5
            [1] => 6
            [2] => 7
            [3] => 8
        )

    [2] => Array
        (
            [0] => 9
            [1] => 10
            [2] => 11
            [3] => 12
        )

    [3] => Array
        (
            [0] => 13
            [1] => 14
        )
)

使用preserve_keys保留鍵名

如果你希望保留數組的原始鍵名,可以通過設置$preserve_keystrue來實現。例如:

 <?php
// 原始大數組,帶有自定義鍵名
$bigArray = [10 => 'a', 20 => 'b', 30 => 'c', 40 => 'd', 50 => 'e', 60 => 'f'];

// 使用 array_chunk 拆分數組,並保留鍵名
$chunkedArray = array_chunk($bigArray, 2, true);

// 輸出結果
print_r($chunkedArray);
?>

輸出結果:

 Array
(
    [0] => Array
        (
            [10] => a
            [20] => b
        )

    [1] => Array
        (
            [30] => c
            [40] => d
        )

    [2] => Array
        (
            [50] => e
            [60] => f
        )
)

如你所見,當設置preserve_keystrue時, array_chunk()會保留原始數組的鍵名。

總結

array_chunk()是PHP 中一個非常實用的函數,尤其是在處理大規模數據時,它可以幫助你將大數組拆分為多個小數組。通過調整每個小數組的大小以及是否保留鍵名,你可以靈活地處理數據。

在實際開發中, array_chunk()的應用非常廣泛,特別是在分頁、批量處理、數據拆分等場景中。希望這篇文章能幫助你更好地理解和使用這個函數。