Black Friday sale is now on! 50% off Laravel: The Modular Way. Learn more

Splitting an array into smaller arrays using array_chunk

David Carr

PHP & MySQL Tutorials

    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
            )
    
    )

     

    Laravel Modules Book by David Carr

    Help support the blog so that I can continue creating new content!

    Subscribe to my newsletter

    Subscribe and get my books and product announcements.

    © 2009 - 2022 DC Blog. All code MIT license. All rights reserved.