topo/range-generator

Generates a range of values by a start and end value

v1.0.0 2022-03-08 08:11 UTC

This package is not auto-updated.

Last update: 2024-05-14 18:48:46 UTC


README

Coverage Status Build Status

A small lib for generating a range array by a start and end value.

Examples

Numeric range

<?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'
]

Character range

<?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'
]

Numeric range with labels

<?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'
]