vakata / collection
PHP collection manipulation class - supports iterators and generators
Installs: 4 453
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 1
Open Issues: 0
Requires
- php: >=8.0
Requires (Dev)
- phpunit/phpunit: ~9.0
README
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.
Install
Via Composer
composer require vakata/collection
Usage
$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; }) ->head(2) ->toArray();
Read more in the API docs
Testing
composer test
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email github@vakata.com instead of using the issue tracker.
Credits
A big thanks to im0rtality and the great Underscore package
License
The MIT License (MIT). Please see License File for more information.