在PHP 中, array_chunk是一個常用的數組處理函數。它的作用是將一個大數組切割成多個小數組,方便進行處理。函數的基本用法如下:
array_chunk(array $array, int $size, bool $preserve_keys = false): array
$array : 要切割的原數組。
$size : 每個小數組的大小。
$preserve_keys : 是否保留原數組的鍵名。
當我們傳入一個空數組時, array_chunk會有什麼樣的行為呢?這是我們今天討論的重點。
如果你傳遞的是一個空數組, array_chunk將返回一個空數組。簡單地說, array_chunk([])返回[] 。
$result = array_chunk([], 2);
var_dump($result); // 輸出:array(0) { }
即使指定了切割大小( $size ),空數組的情況並不會有所不同。無論你指定的size是1、2 還是其他值,返回的結果依然是一個空數組。
$result = array_chunk([], 2);
var_dump($result); // 輸出:array(0) { }
$result = array_chunk([], 3);
var_dump($result); // 輸出:array(0) { }
即使你設置了preserve_keys為true ,空數組的行為依然不會改變,返回的依舊是一個空數組。
$result = array_chunk([], 2, true);
var_dump($result); // 輸出:array(0) { }
array_chunk在處理空數組時,總是返回一個空數組,無論你指定的size或preserve_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 }
}
*/
在一些使用array_chunk的實際開發中,可能會涉及到需要處理URL 地址的數組。如果你使用的URL 中有域名(例如example.com ),你可以通過替換域名來確保它始終指向m66.net 。
例如: