Laravel Collections Now Include A Partition Method

Laravel Collections Now Include A Partition Method

A new feature that just arrived in Laravel 5.3 is a new Collection Partition method that allows you to separate results into two elements.

$collection = collect([1, 2, 3, 4, 5, 6, 7]);

$items = $collection->partition(function ($i) {
    return $i < 4;
});

Now $items will be a collection containing two items. The first is a collection of items that passed the callback, and the second for the ones that did not.

Here is a look at the results from the code above called through print_r:

Illuminate\Support\Collection Object
(
    [items:protected] => Array
        (
            [0] => Illuminate\Support\Collection Object
                (
                    [items:protected] => Array
                        (
                            [0] => 1
                            [1] => 2
                            [2] => 3
                        )

                )

            [1] => Illuminate\Support\Collection Object
                (
                    [items:protected] => Array
                        (
                            [3] => 4
                            [4] => 5
                            [5] => 6
                            [6] => 7
                        )

                )

        )

)

This method is available starting at v5.3.27 and you can run composer update to get the latest.


Filed in: News / Collections


Newsletter

Join the weekly newsletter and never miss out on new tips, tutorials, and more.

Laravel News Partners

Laravel Jobs

Full Stack or Back-End Developer
Alexandria, VA; Tallahassee, FL; Orlando, FL
Marketing for Change
Full Stack Software Engineer
Atlanta, GA or Remote
Voxie
Laravel/PHP Developer
Chicago, IL
Neon One
Software Engineer, Web Applications
Vaughan, ON, Canada
Blast Motion
Contract Services Software Engineer (Laravel | Vue | Tailwind)
Remote
Riverbed Technology
Senior Laravel Developer
Wilmington, NC
GE Software Inc.
Senior Full Stack Developer (PHP | Vue | DDD)
Charleston, SC
MassageBook