doekenorg / iterator-functions
一个提供类似array_*函数的迭代器包。
v1.0.1
2021-08-29 09:24 UTC
Requires
- php: ^7.4|^8.0
Requires (Dev)
- pestphp/pest: ^1.15
- vimeo/psalm: ^4.9
This package is auto-updated.
Last update: 2024-09-24 19:09:00 UTC
README
doekenorg/iterator-functions 包提供了一系列类似 array_* 函数的迭代器功能。此包旨在鼓励开发者通过简化常见任务来更广泛地使用迭代器。
可用函数
所有可用函数都是根据它们的 array_* 相似函数建模的。但是,它们返回的不是 array,而是 Iterator 实例。这意味着您可以使用它们以相同的方式,同时获得额外的内存节省好处。
iterator_column(\Traversable $iterator, $column_key, $index_key = null): ColumnIterator
iterator_filter(Iterator $iterator, ?callable $callback = null): \CallbackFilterIterator
iterator_flip(Iterator $iterator): FlipIterator
iterator_keys(\Iterator $iterator): KeysIterator
iterator_map(callable $callback, iterable ...$iterators): MapIterator
iterator_reduce(\Iterator $iterator, callable $callback, $initial = null)
iterator_values(\Iterator $iterator): ValuesIterator
iterator_walk(\Iterator $iterator, callable $callback, ...$arguments): void
注意:没有提供 _diff 或 _intersect 函数,因为这些函数无法在不牺牲迭代器的内存优势的情况下实现。
可用迭代器
尽可能使用原生迭代器。任何缺少的迭代器都添加到这个包中。
ColumnIterator
- 迭代数组/对象的单列迭代器。FlipIterator
- 翻转当前迭代的键和值的迭代器。KeysIterator
- 返回提供的迭代器的键的迭代器。MapIterator
- 应用回调到给定迭代器的元素上的迭代器。ValuesIterator
- 返回提供的迭代器的值的迭代器。
安装
您可以通过 composer 安装此包
composer require doekenorg/iterator-functions
变更日志
请参阅 CHANGELOG 了解最近的变化。
测试
./vendor/bin/pest
许可证
MIT 许可证(MIT)。请参阅 许可证文件 了解更多信息。