The array_chunk() function is an inbuilt function in PHP which is used to split an array into parts or chunks of given size depending upon the parameters passed to the function. The last chunk may contain fewer 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:
- $array: This parameter represents the array that is needed to be divided into chunks.
- $size: This parameter is an integer which defines the size of the chunks to be created.
- $preserve_keys: This parameter takes Boolean value. When this parameter is set to 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 the same as their index in the original array from which the chunk is created. In this case, each chunk contains 2 elements which are the value of size passed to the function.
Below programs illustrate the array_chunk() function in PHP:
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