Tutorials, PHP & MySQL

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:

  1. The array of data
  2. The size of each chunk
  3. 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
        )

)