array_chunk()

array_chunk() — Split an array into chunks.

Built-in function of PHP 8.5. The manual lists it as available in PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8. This page is the reference card: signature, parameters and return value, plus the changelog and the example the manual provides.

What it does

Chunks an array into arrays with length elements. The last chunk may contain less than length elements.

Signature

array_chunk(array $array, int $length, bool $preserve_keys = false): array

Parameters

ParameterTypeWhat it takes
$arrayarrayThe array to work on
$lengthintThe size of each chunk
$preserve_keysboolWhen set to true keys will be preserved. Default is false which will reindex the chunk numerically

Return value

Returns a multidimensional numerically indexed array, starting with zero, with each dimension containing length elements.

Example

A runnable snippet:

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

Output:

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

Changelog

VersionChange
8.0.0If length is less than 1, a ValueError will be thrown now; previously, an error of level E_WARNING has been raised instead, and the function returned null.

See also

array_slice()

All PHP 8.5 built-in functions

Reference card built from the PHP manual page array_chunk() (PHP documentation, CC BY 3.0). The page is generated from the manual, so the wording of the parameter and return value text follows php.net.