Для получения полного доступа
зарегистрируйтесь.

ivaaaan    3   2 328


Видимо, пользователь решил о себе ничего не говорить.
  • Зарегистрирован год назад
Профиль завершён на 0 %
0 %
function urange($start, $end, $step)
{
    if (!is_callable($step)) {
        return range($start, $end, $step);
    }

    $helper = function ($current, $start) use ($end, $step, &$helper) {
        if ($start > $end) {
            return $current;
        }
        $current[] = $start;
        return $helper($current, $step($start));
    };
    
    return $helper([], $start);
}

print_r(urange(20, 39, function ($n) {
    $next = ($n / 10) % 10;
    return $n + ($next >= 1 ? $next : 1);
}));

print_r(urange(1, 40, function ($n) {
	return $n+1;
}));

print_r(urange(1, 40, function ($n) {
    return $n+$n;
}));