horat1us/map-iterator
Composer 安装命令:
composer require horat1us/map-iterator
包简介
Map Iterator Implementation
README 文档
README
Iterators to map inner iterator values before yielding.
Inspired by \FilterIterator and \CallbackFilterIterator.
Installation
Using composer
composer require horat1us/map-iterator:^1.0
Usage
MapIterator
Maps values before yielding using abstract method.
See ./example/map-iterator.php
<?php use Horat1us\Util\MapIterator; class IntegerPlusOneInterator extends MapIterator { public function map($item) { if (!is_int($item)) { throw new \InvalidArgumentException("Unable map not-integer item."); } return $item + 1; } } $numbers = [1,2,3]; $iterator = new IntegerPlusOneInterator(new \ArrayIterator($numbers)); print_r(iterator_to_array($iterator)); // Array ( [0] => 2, [1] => 3, [2] => 4 )
CallbackMapIterator (recommended)
Maps values before yielding using callback.
See ./example/map-iterator.php
<?php use Horat1us\Util\CallbackMapIterator; $numbers = [1,2,3]; $powCallback = static fn(int $number) => pow($number, $number); $iterator = new CallbackMapIterator(new \ArrayIterator($numbers), $powCallback); print_r(iterator_to_array($iterator)); // Array ( [0] => 1, [1] => 4, [2] => 27 )
License
统计信息
- 总下载量: 9
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2021-08-16