traderinteractive / filter-arrays
用于验证数据正确性和对数组进行典型修改的过滤实现
v4.1.0
2024-01-03 16:54 UTC
Requires
- php: ^7.3 || ^8.0
- traderinteractive/exceptions: ^2.0
Requires (Dev)
- phpunit/phpunit: ^9.0
- squizlabs/php_codesniffer: ^3.2
README
用于验证数据正确性和对数组进行典型修改的过滤实现
要求
需要 PHP 7.0 或更高版本,并使用 composer 安装其他 PHP 依赖项。有关详细信息,请参阅composer 规范。
安装
可以使用 composer 将 filter-arrays-php 安装到您的项目中以供使用。在项目中使用此库的推荐方法是将一个 composer.json
文件添加到您的项目中。以下内容将 filter-arrays-php 添加为依赖项
composer require traderinteractive/filter-arrays
包含的过滤器
Arrays::copy
此过滤器将使用目标键映射从输入数组复制值到结果数组。
$input = ['foo' => 1, 'bar' => 2]; $keyMap = ['FOO_VALUE' => 'foo', 'BAR_VALUE' => 'bar']; $result = \TraderInteractive\Filter\Arrays::copy($input, $keyMap); assert($result === ['FOO_VALUE' => 1, 'BAR_VALUE' => 2]);
Arrays::copyEach
此过滤器将使用目标键映射从输入数组中的每个数组复制值到结果数组。
$input = [ ['foo' => 1, 'bar' => 2], ['foo' => 3, 'bar' => 4], ]; $keyMap = ['FOO_VALUE' => 'foo', 'BAR_VALUE' => 'bar']; $result = \TraderInteractive\Filter\Arrays::copyEach($input, $keyMap); assert($result === [['FOO_VALUE' => 1, 'BAR_VALUE' => 2], ['FOO_VALUE' => 3, 'BAR_VALUE' => 4]]);
Arrays::in
此过滤器是 in_array
的包装,包括对严格相等性测试的支持。
以下对 $value
对 3 个接受值进行严格检查。
\TraderInteractive\Filter\Arrays::in($value, ['a', 'b', 'c']);
Arrays::filter
此过滤器验证参数是否为数组,并检查数组的长度是否在范围内。默认范围是 1+,因此空数组默认失败。
以下检查 $value
是否是具有恰好 3 个元素的数组。
\TraderInteractive\Filter\Arrays::filter($value, 3, 3);
Arrays::flatten
此过滤器将多维数组展平为一维。将保持值的顺序,但键本身将不会。例如
$value = \TraderInteractive\Filter\Arrays::flatten([[1, 2], [3, [4, 5]]]); assert($value === [1, 2, 3, 4, 5]);
Arrays::implode
此过滤器是 PHP 的 implode
函数的包装。它使用可选的粘合字符串连接字符串数组。
$value = \TraderInteractive\Filter\Arrays::implode(['lastname', 'email', 'phone'], ','); assert($value === 'lastname,email,phone');
Arrays::pad
此过滤器使用值填充数组到指定的长度。填充可以可选地填充到数组的开头或结尾。
$value = \TraderInteractive\Filter\Arrays::pad([1, 2], 5, 0, \TraderInteractive\Filter\Arrays::ARRAY_PAD_FRONT); assert($value === [0, 0, 0, 1, 2]);
Arrays::unique
此过滤器从给定的数组中删除任何重复的值。如果找到重复的值,可选地抛出异常。
$value = \TraderInteractive\Filter\Arrays::unique(['foo', 'bar', 'foo']); assert($value === ['foo', 'bar']);
项目构建
检出代码后,在您的 PATH 中获取 Composer 并运行:``sh composer install ./vendor/bin/phpunit ./vendor/bin/phpcs
For more information on our build process, read through out our [Contribution Guidelines](./.github/CONTRIBUTING.md).