Tutorials, PHP & MySQL

Splitting an array into smaller arrays using array_chunk

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
        )

)

 

David Carr

David Carr

For the past 12 years, I’ve been developing applications for the web using mostly PHP. I do this for a living and love what I do as every day there is something new and exciting to learn.

In my spare time, the web development community is a big part of my life. Whether managing online programming groups and blogs or attending a conference, I find keeping involved helps me stay up to date. This is also my chance to give back to the community that helped me get started, a place I am proud to be apart of.

Besides programming I love spending time with friends and family and can often be found together going out catching the latest movie, staying in playing games on the sofa or planning a trip to someplace I’ve never been before.