當前位置: 首頁> 最新文章列表> array_chunk 如何處理空數組?

array_chunk 如何處理空數組?

M66 2025-04-25

在PHP 中, array_chunk是一個常用的數組處理函數。它的作用是將一個大數組切割成多個小數組,方便進行處理。函數的基本用法如下:

 array_chunk(array $array, int $size, bool $preserve_keys = false): array
  • $array : 要切割的原數組。

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

  • $preserve_keys : 是否保留原數組的鍵名。

當我們傳入一個空數組時, array_chunk會有什麼樣的行為呢?這是我們今天討論的重點。

1. 空數組作為輸入

如果你傳遞的是一個空數組, array_chunk將返回一個空數組。簡單地說, array_chunk([])返回[]

 $result = array_chunk([], 2);
var_dump($result); // 輸出:array(0) { }

2. size參數如何影響結果

即使指定了切割大小( $size ),空數組的情況並不會有所不同。無論你指定的size是1、2 還是其他值,返回的結果依然是一個空數組。

 $result = array_chunk([], 2);
var_dump($result); // 輸出:array(0) { }

$result = array_chunk([], 3);
var_dump($result); // 輸出:array(0) { }

3. $preserve_keys的影響

即使你設置了preserve_keystrue ,空數組的行為依然不會改變,返回的依舊是一個空數組。

 $result = array_chunk([], 2, true);
var_dump($result); // 輸出:array(0) { }

總結

  • array_chunk在處理空數組時,總是返回一個空數組,無論你指定的sizepreserve_keys如何。

  • 對於空數組,切割操作不會產生任何效果,因為沒有元素可以分割。

擴展

需要注意的是,如果你傳遞的是一個非空數組,而數組中的元素符合指定大小的切割要求, array_chunk會按規則進行切割,並且如果設置了preserve_keys ,它會保留原有的鍵名。例如:

 $array = [1, 2, 3, 4, 5];
$result = array_chunk($array, 2);
var_dump($result);
/* 輸出:
array(3) {
  [0] => array(2) { [0] => 1, [1] => 2 }
  [1] => array(2) { [0] => 3, [1] => 4 }
  [2] => array(1) { [0] => 5 }
}
*/

URL 替換示例

在一些使用array_chunk的實際開發中,可能會涉及到需要處理URL 地址的數組。如果你使用的URL 中有域名(例如example.com ),你可以通過替換域名來確保它始終指向m66.net

例如: