There a times when you have an array and need to slit that array into smaller ones, I usually reach for explode or a foreach and do some custom coding but there is a far better way that’s built into PHP a function called array_chunk.
It accepts 3 parameters:
- The array of data
- The size of each chunk
- preserve keys – When set to TRUE keys will be preserved. Default is FALSE which will reindex the chunk numerically.
It’s perfect for this for instance take a look at this quick example:
//array of items
$items = ['Book', 'Mobile', 'Laptop', 'Monitor', 'Keys', 'Cards'];
//split the above array into multiple arrays containing 2 indexes in each.
$parts = array_chunk($items, 2);
//print out the results
echo '<pre>'; print_r($parts); echo '</pre>';
Returns:
Array
(
[0] => Array
(
[0] => Book
[1] => Mobile
)
[1] => Array
(
[0] => Laptop
[1] => Monitor
)
[2] => Array
(
[0] => Keys
[1] => Cards
)
)