asko / collection
用于处理集合的实用库。
v1.0
2024-06-23 00:14 UTC
Requires
- php: >=8.2
- crell/fp: ^1.0
Requires (Dev)
- phpunit/phpunit: ^10
README
一个封装项目集合的通用类,并提供帮助方法来处理该集合。
安装
composer require asko/collection
使用
创建一个新的集合就像创建一个新的 Collection 类实例,并将一个项目数组传递给构造函数一样简单。
use Asko\Collection\Collection; $collection = new Collection([1, 2, 3, 4, 5]);
可用方法
push
向集合中添加一个项目。
$collection->push(6);
filter
使用回调过滤集合。
$collection->filter(function ($item) { return $item > 3; });
map
使用回调映射集合。
$collection->map(function ($item) { return $item * 2; });
any
检查集合中是否有任何项目通过真值测试。
$collection->any(function ($item) { return $item > 3; });
all
检查集合中的所有项目是否通过真值测试。
$collection->all(function ($item) { return $item > 3; });
each
遍历集合。
$collection->each(function ($item) { echo $item; });
reduce
将集合减少到单个值。
$collection->reduce(function ($acc, $item) { return $acc + $item; }, 0);
first
获取集合中的第一个项目。
$collection->first();
last
获取集合中的最后一个项目。
$collection->last();
avg
通过谓词获取集合中项目的平均值。
$collection->avg(function ($item) { return $item * 2; });
sum
通过谓词获取集合中项目的总和。
$collection->sum(function ($item) { return $item * 2; });
count
获取集合中的项目数量。
$collection->count();
toArray
将集合作为数组获取。
$collection->toArray();