softboxlab / php-collection-helper
简单的数组和面向对象的集合
v0.0.1
2017-06-15 21:16 UTC
Requires (Dev)
- phpunit/phpunit: ^4.8.35
This package is not auto-updated.
Last update: 2024-09-29 03:15:28 UTC
README
简单的PHP集合和数组助手
一个简单的集合类,用于在面向对象范式下处理数组,并提供一些数组(集合)助手,以标准化参数(首先数据,然后回调,类似于 javascript)。
集合
在这个定义中,我们的集合是 不可变的,这意味着 每个 操作都应该返回一个新的集合,同时保持原始集合完整。
$collection = new Collection([1, 2, 3, 4]); $newCollection = $collection->map(function ($item) { return $item * 2; }); print_r($newCollection->all()); // [2, 4, 6, 8] print_r($collection->all()); // [1, 2, 3, 4]
集合助手
这是对集合类的基本支持。所有方法都在这里实现。
可用方法列表
- map($data, $callback ($value, $key));
- 使用提供的回调映射数据中的所有项。回调将接收数组的值和键。
- filter($data, $callback($value, $key), $keepKeys);
- 使用提供的回调过滤给定的数组。只有当回调返回 true 时,才会返回过滤数据中的项目。如果将 false 传递给 keepKeys 参数,则键将重置。
- reduce($data, $callback($value, $key), $initialValue);
- 使用给定的回调减少给定数据。
- transform($data, $changes, $delimiter);
- 使用
$changes数组转换给定$data数组的键(更改)。要遍历数组,请使用 Laravel 的点语法。如果提供了$delimiter,则更改 Laravel 的点语法分隔符。
- 使用
- transformArray($data, $changed, $delimiter);
- 与 transform 相同,但应在列表上使用,将对每个项目应用。类似于 map 与 transform。
转换器类
简单的数组转换器类,它将所有键转换为新键。类似于 from-to,其中当键匹配时,将使用给定的替换数组中的值替换给定数组的所有键。
示例
$transformer = new Transformer(['namae' => 'nombre']); $data = ['namae' => 'William']; $transformedData = $transformer->transform($data); print_r($transformedData); // ['nombre' => 'William'];
贡献
请随意提交任何你认为必要的 pull request!