topo/range-generator

通过起始值和结束值生成一系列数值

v1.0.1 2024-07-15 13:42 UTC

This package is not auto-updated.

Last update: 2024-09-23 14:55:31 UTC


README

Coverage Status Build Status

一个用于通过起始值和结束值生成范围数组的轻量级库。

示例

数值范围

<?php

require 'vendor/autoload.php';

$generator = new \RangeGenerator\Services\Generator();
$generator->addHandler(new \RangeGenerator\Services\Handlers\Numeric());

$values = $generator->buildRange(5, 10);
[
    5, 6, 7, 8, 9, 10
]
<?php

require 'vendor/autoload.php';

$generator = new \RangeGenerator\Services\Generator();
$generator->addHandler(new \RangeGenerator\Services\Handlers\Numeric());

$values = $generator->buildRange('020', '015');
[
    '020', '019', '018', '017', '016', '015'
]

字符范围

<?php

require 'vendor/autoload.php';

$generator = new \RangeGenerator\Services\Generator();
$generator->addHandler(new \RangeGenerator\Services\Handlers\Character());

$values = $generator->buildRange('AAB', 'AAF');
[
    'AAB', 'AAC', 'AAD', 'AAF'
]

带标签的数值范围

<?php

require 'vendor/autoload.php';

$generator = new \RangeGenerator\Services\Generator();
$generator->addHandler(new \RangeGenerator\Services\Handlers\NumericWithLabel());

$values = $generator->buildRange('MyZone04 - medium', 'MyZone09 - medium'');
[
    'MyZone04 - medium',
    'MyZone05 - medium',
    'MyZone06 - medium',
    'MyZone07 - medium',
    'MyZone08 - medium',
    'MyZone09 - medium'
]