graze / array-filter
文件操作
v1.0.1
2016-02-23 13:19 UTC
Requires
- php: >=5.6.0
Requires (Dev)
- mockery/mockery: ^0.9.4
- phpunit/phpunit: 5.*
- squizlabs/php_codesniffer: ^2.5
This package is auto-updated.
Last update: 2024-08-29 04:03:29 UTC
README
数组过滤
安装
通过 Composer
$ composer require graze/array-filter
用法
过滤器工厂
有一个工厂可以接收一系列字符串定义,并根据每个定义创建过滤器
$config = [ 'name ~' => '/test.*/i', 'ctime >' => '{date:yesterday:U}', 'status in' => [1, 2], ]; $input = [[ 'name' => 'test1234', 'ctime' => 142353782, 'status' => 2, ]]; $factory = new FilterFactory(new ValueFactory()); $filter = $factory->createFilters($config); $filtered = array_filter($input, $filter);
兼容 Respect/Validator 和其他可调用函数
$filter = new AllOfFilter();
$filter->addFilter(new ClosureFilter('name', v::regex('/test.*/i')))
->addFilter(v::key('ctime', v::date()->between('yesterday', 'today'))
->addFilter(function (array $data) {
return isset($data['status']) && in_array($data['status'], [1, 2]);
});
$filtered = array_filter($input, $filter);
测试
$ make
$ make test
贡献
请参阅CONTRIBUTING 了解详情。
安全性
如果您发现任何与安全性相关的问题,请通过security@graze.com 发送电子邮件,而不是使用问题跟踪器。
致谢
许可
MIT 许可证 (MIT)。请参阅许可文件 了解更多信息。