• PHP Video Tutorials

PHP array_chunk() Function



Definition and Usage

The array_chunk() function takes an array as input and split that array into smaller chunks of the given size. The last chunk may contain less number of elements than passed size based on the multiplicity factor of the total numbers available in the array.

Syntax

array array_chunk ( array $input, int $size [, bool $preserve_keys] );

Parameters

Sr.No Parameter & Description
1

input (mandatory)

This is the input array which we want to slipt into smaller chunks. This is mandatory parameter.

2

size (mandatory)

The size of each chunk we want to split our passed array in the form of input. This is again mandatory parameter.

3

preserve_keys (optional)

This is an optional and boolean parameter but when it is set to TRUE, all the keys in the array will be preserved. If you do not pass it then its default value is FALSE which will reindex the chunk numerically

Return Values

PHP array_chunk() Function returns a multidimensional numerically indexed array, starting with zero, with each dimension containing size elements.

PHP Version

This function was first introduced in PHP Version 4.2.0.

Errors/Exceptions

If passed size is less than 1, then E_WARNING will be thrown and NULL returned.

Example

Let's try a simple example to split our array into multiple chunks of 2 elements each −

<?php
   $input = array('abc', 'bcd', 'cde', 'def', 'efg');
   print_r(array_chunk($input, 2));
?>

This will produce following result, try to observe the index of each smaller array, it is starting with zero for all three chunks −

Array
(
    [0] => Array
        (
            [0] => abc
            [1] => bcd
        )

    [1] => Array
        (
            [0] => cde
            [1] => def
        )

    [2] => Array
        (
            [0] => efg
        )

)

Example

Let's try same example once again but this time we will set paramter preserve_keys to true −

<?php
   $input = array('abc', 'bcd', 'cde', 'def', 'efg');
   print_r(array_chunk($input, 2, true));
?>

This will produce following result, this time for each element is perserving its index as it is in the original array −

Array
(
    [0] => Array
        (
            [0] => abc
            [1] => bcd
        )

    [1] => Array
        (
            [2] => cde
            [3] => def
        )

    [2] => Array
        (
            [4] => efg
        )

)

Example

Following example passes 0 value for the size parameter and so it throws a warning message −

<?php
   $input = array('abc', 'bcd', 'cde', 'def', 'efg');
   print_r(array_chunk($input, 0));
?>

This will produce following result −

PHP Warning:  array_chunk(): Size parameter expected to be greater than 0 in main.php on line 3
php_function_reference.htm
Advertisements