Cron\AbstractField::getRangeForExpression PHP Method

getRangeForExpression() public method

Returns a range of values for the given cron expression
public getRangeForExpression ( string $expression, integer $max ) : array
$expression string The expression to evaluate
$max integer Maximum offset for range
return array
    public function getRangeForExpression($expression, $max)
    {
        $values = array();
        if ($this->isRange($expression) || $this->isIncrementsOfRanges($expression)) {
            if (!$this->isIncrementsOfRanges($expression)) {
                list($offset, $to) = explode('-', $expression);
                $stepSize = 1;
            } else {
                $range = array_map('trim', explode('/', $expression, 2));
                $stepSize = isset($range[1]) ? $range[1] : 0;
                $range = $range[0];
                $range = explode('-', $range, 2);
                $offset = $range[0];
                $to = isset($range[1]) ? $range[1] : $max;
            }
            $offset = $offset == '*' ? 0 : $offset;
            for ($i = $offset; $i <= $to; $i += $stepSize) {
                $values[] = $i;
            }
            sort($values);
        } else {
            $values = array($expression);
        }
        return $values;
    }