Cron\AbstractField::isInIncrementsOfRanges PHP Method

isInIncrementsOfRanges() public method

Test if a value is within an increments of ranges (offset[-to]/step size)
public isInIncrementsOfRanges ( string $dateValue, string $value ) : boolean
$dateValue string Set date value
$value string Value to test
return boolean
    public function isInIncrementsOfRanges($dateValue, $value)
    {
        $parts = array_map('trim', explode('/', $value, 2));
        $stepSize = isset($parts[1]) ? (int) $parts[1] : 0;
        if ($stepSize === 0) {
            return false;
        }
        if ($parts[0] == '*' || $parts[0] === '0') {
            return (int) $dateValue % $stepSize == 0;
        }
        $range = explode('-', $parts[0], 2);
        $offset = $range[0];
        $to = isset($range[1]) ? $range[1] : $dateValue;
        // Ensure that the date value is within the range
        if ($dateValue < $offset || $dateValue > $to) {
            return false;
        }
        if ($dateValue > $offset && 0 === $stepSize) {
            return false;
        }
        for ($i = $offset; $i <= $to; $i += $stepSize) {
            if ($i == $dateValue) {
                return true;
            }
        }
        return false;
    }