萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 網路程式設計 >> PHP 程式設計

PHP array_chunk() 函數詳解:將陣列分割為指定大小的區塊

函數用途

array_chunk() 將單一陣列分割成多個較小的陣列,每個新陣列包含指定數量的元素。常用於分頁顯示、批次處理、表格列群組等場景。

語法與參數

array_chunk(array $array, int $size, bool $preserve_keys = false): array
參數說明
$array必填,要分割的陣列
$size必填,每個新陣列包含的元素數量
$preserve_keys選填,true 保留原鍵名,false(預設)重新索引為 0 起始數字鍵

實戰範例

範例 1:基本分割(不保留鍵名)

<?php
$a = ["a" => "Cat", "b" => "Dog", "c" => "Horse", "d" => "Cow"];
print_r(array_chunk($a, 2));
/*
Array
(
    [0] => Array ( [0] => Cat [1] => Dog )
    [1] => Array ( [0] => Horse [1] => Cow )
)
*/
?>

範例 2:保留原鍵名

<?php
$a = ["a" => "Cat", "b" => "Dog", "c" => "Horse", "d" => "Cow"];
print_r(array_chunk($a, 2, true));
/*
Array
(
    [0] => Array ( [a] => Cat [b] => Dog )
    [1] => Array ( [c] => Horse [d] => Cow )
)
*/
?>

常見應用場景

  • 表格分列顯示:將 12 筆資料每 3 筆一行,產生 4 行陣列。
  • 批次資料庫寫入:將大量資料分批 100 筆執行 INSERT,避免記憶體溢位或逾時。
  • 分頁導航:配合 array_slice() 實作分頁邏輯。

注意事項

  • 若陣列長度無法被 $size 整除,最後一個區塊元素數量會較少。
  • $size 必須大於 0,否則拋出 ValueError(PHP 8+)或警告。
  • 原陣列不會被修改。
copyright © 萬盛學電腦網 all rights reserved