Tutorialspoint.dev

PHP | array_chunk() Function

The array_chunk() function is a builtin function in PHP and is used to split an array in parts or chunks of given size depending upon the parameters passed to the function. The last chunk may contain less elements than the desired size of the chunk.

Syntax:

array array_chunk ( $array ,$size , $preserve_keys )

Parameters: This function accepts three parameters as shown in the above syntax. The parameters are described below:

  1. $array: This parameter represents the array that is needed to be divided into chunks.
  2. $size: This parameter is an integer which defines the size of the chunks to be created.
  3. $preserve_keys: This parameter takes Boolean value. When this argument is TRUE then the keys are preserved, otherwise the chunk is reindexed starting from 0.

Return value: This function returns a multidimensional array indexed starting from 0. Each chunk contains $size number of elements, except the last chunk which may contain lesser number of elements.

Examples:



Input : $input_array = array('a', 'b', 'c', 'd', 'e');
        array_chunk($input_array, 2);
Output : Array(
                [0] => Array
                (
                    [0] => a
                    [1] => b
                )
                [1] => Array
                (
                    [0] => c
                    [1] => d
                )
                [2] => Array
                (
                    [0] => e
                )
            )

Input :$input_array = array('a', 'b', 'c', 'd', 'e');
       array_chunk($input_array, 2, true)
Output :    Array
            (
                [0] => Array
                (
                    [0] => a
                    [1] => b
                )
                [1] => Array
                (
                    [2] => c
                    [3] => d
                )
                [2] => Array
                (
                    [4] => e
                )
            )   

In the first example a multidimensional array is returned in which each chunk contains 2 elements. In the second example, since the third argument is passed as true therefore the index of elements in each chunk is same as their index in the original array from which this chunk is created. In this case, also each chunk contains 2 elements which are the value of size passed to the function.

Below programs illustrate the array_chunk() function:

Program 1:

<?php
  
$input_array = array('a', 'b', 'c', 'd', 'e');
  
print_r(array_chunk($input_array, 2));
  
?>

Output:

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )
    [1] => Array
        (
            [0] => c
            [1] => d
        )
    [2] => Array
        (
            [0] => e
        )
)

Program 2:

<?php
  
$input_array = array('a', 'b', 'c', 'd', 'e');
  
print_r(array_chunk($input_array, 2, true));
  
?>

Output:

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )
    [1] => Array
        (
            [2] => c
            [3] => d
        )
    [2] => Array
        (
            [4] => e
        )
)

Reference:
http://php.net/manual/en/function.array-chunk.php



This article is attributed to GeeksforGeeks.org

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter