array_chunk() 將單一陣列分割成多個較小的陣列,每個新陣列包含指定數量的元素。常用於分頁顯示、批次處理、表格列群組等場景。
array_chunk(array $array, int $size, bool $preserve_keys = false): array
| 參數 | 說明 |
|---|---|
$array | 必填,要分割的陣列 |
$size | 必填,每個新陣列包含的元素數量 |
$preserve_keys | 選填,true 保留原鍵名,false(預設)重新索引為 0 起始數字鍵 |
<?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 )
)
*/
?>
<?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 )
)
*/
?>
array_slice() 實作分頁邏輯。$size 整除,最後一個區塊元素數量會較少。$size 必須大於 0,否則拋出 ValueError(PHP 8+)或警告。