PHP collection manipulation class - supports iterators and generators

1.8.3 2024-02-23 21:24 UTC

This package is auto-updated.

Last update: 2024-05-23 22:07:35 UTC


Latest Version on Packagist Software License Build Status Scrutinizer Code Quality Code Coverage

A PHP class for fast iterables manipulation (arrays, generators, iterators).

All predicate / mutator callables receive the current value, current key and the whole collection as arguments.

map & filter do not execute immediately, but instead stack up until you need to get a value (calling squash, toArray, value). Where possible helpers use map & filter in order to minimize RAM usage. This means that it is possible to iterate through a large file reading line by line while maintaining a minimal memory footprint.


Via Composer

composer require vakata/collection


$collection = \vakata\collection\Collection::from([1,2,3,4,5,6]);
$result = $collection
    ->filter(function ($v) { return $v % 2 === 0; })
    ->map(function ($v) { return $v + 1; })

Read more in the API docs


composer test


Please see CONTRIBUTING for details.


If you discover any security related issues, please email instead of using the issue tracker.


A big thanks to im0rtality and the great Underscore package


The MIT License (MIT). Please see License File for more information.