praswicaksono / lazy-collection
dev-master
2016-03-09 14:07 UTC
Requires
- php: ^7
- nikic/iter: ^1.3
Requires (Dev)
- phpunit/phpunit: ^5.2
- squizlabs/php_codesniffer: ^2.5
This package is not auto-updated.
Last update: 2024-09-20 17:58:07 UTC
README
此集合实现了 nikic/iter 以使用 生成器
提供延迟初始化和操作
安装
composer require praswicaksono/lazy-collection dev-master
用法
从生成器构建
$iterable = function () { for ($i = 1; $i <= 5; $i++) { yield $i; } }; $collection = IterableCollection::fromGenerator($iterable());
从数组构建
$collection = IterableCollection::fromArray([1, 2, 3, 4, 5]);
示例用法
$iterable = function () { for ($i = 1; $i <= 5; $i++) { yield $i; } }; $result = IterableCollection::fromGenerator($iterable()) ->map(function ($value) { return $value * 10; }) ->filter(function ($value) { return $value > 30; }) ->reduce(function ($acc, $value, $startValue) { return $acc + $value; }); // $result = 90
更多信息,请查看 test
测试套件。
贡献
欢迎提交 PR(Pull Requests)!
许可证
MIT