Skip to content

bradleyboy/range-converter

Repository files navigation

Range converter

This simple class reduces arrays into compact strings by creating ranges when encountering neighboring integers. It can also expand strings with ranges back to the original array form.

Build Status

Examples

Reducing ranges:

$converter = new Bradleyboy\Util\RangeConverter;
$converter->reduce([1,2,3,4,7,9,10,11]); // Returns: '1..4,7,9..11'

Expanding ranges:

$converter = new Bradleyboy\Util\RangeConverter;
$converter->expand('1..4,7,9..11'); // Returns: [1,2,3,4,7,9,10,11]

You can also set custom separators:

$converter = new Bradleyboy\Util\RangeConverter;
$converter->setSeparator('.')
          ->setRangeSeparator('-')
          ->reduce([1,2,3,4,7,9,10,11]); // Returns: '1-4.7.9-11'

For more examples, see src/Bradleyboy/Util/RangeConverterTest.php.

About

Simple class that creates compact string representations of integer arrays

Resources

License

Stars

Watchers

Forks

Packages

No packages published