traderinteractive/filter-arrays

用于验证数据正确性和对数组进行典型修改的过滤实现

v4.1.0 2024-01-03 16:54 UTC

This package is auto-updated.

Last update: 2024-09-03 18:30:29 UTC


README

Build Status Scrutinizer Code Quality Coverage Status

Latest Stable Version Latest Unstable Version License

Total Downloads Daily Downloads Monthly Downloads

用于验证数据正确性和对数组进行典型修改的过滤实现

要求

需要 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).