PHP 新手教學 Array | array_chunk的使用說明

Table of Contents

Table of Contents

array_chunck

將矩陣做分割取部分元素時,常常會用到array_chunk, array_slice, array_splice這三種函數。

了解這三種函數的差別後,就可以依照需求使用適合的函數來達成目的。

簡單地說,三者的區分如下。

  • array_chunk: 按大小均分矩陣,所有矩陣元素都會被留下。
  • array_slice: 從矩陣中取出想要的元素。
  • array_splice: 替換矩陣中部分元素。

本文說明 PHP array_chunk使用說明與範例。

基本語法

array_chunk ( array $array , int $size [, bool $preserve_keys = FALSE ] ) : array

將矩陣依照指定的大小做分割成小矩陣,返回包含這些小矩陣的結果矩陣。

若最後項的數量不足,則小於指定大小。

$preserve_keys可以設定是否保留鍵值,若不保留鍵值則新的鍵值為數字。


Example 1

無設定鍵值的矩陣做chunk分割。

注意:因矩陣大小為9,但是指定大小為2,所以分割後的矩陣結果的大小為5,在結果矩陣裡,除了最後一項小矩陣的大小只有1外,其餘的小矩陣皆為指定大小 2。 

$input1 = array("A", "a", "B", "b", "C", "c", "D", "d", "E");

print_r(array_chunk($input1, 2));

Output:

Array
(
    [0] => Array
        (
            [0] => A
            [1] => a
        )

    [1] => Array
        (
            [0] => B
            [1] => b
        )

    [2] => Array
        (
            [0] => C
            [1] => c
        )

    [3] => Array
        (
            [0] => D
            [1] => d
        )

    [4] => Array
        (
            [0] => E
        )

)


Example 2

將有設定鍵值的矩陣做chunk分割並保留原有的鍵值。


$input2 = array(
    "first_name" => "cyu",
    "last_name" => "blog",
    "gender" => "female",
    "birth" => "1999/1/1",
    "age" => 20,
    );

print_r(array_chunk($input2, 3, true));

Output:

Array
(
    [0] => Array
        (
            [first_name] => cyu
            [last_name] => blog
            [gender] => female
        )

    [1] => Array
        (
            [birth] => 1999/1/1
            [age] => 20
        )

)

試試看

想直接線上實作的話可以透過Example傳送門來練習。


相關函數