PHP: Построение абстракций

Теория: Линейно-итеративный процесс

Примечания к видео

В терминальном условии должно быть сравнение $exp с нулём, а не единицей:

function myPow ($base, $exp) {
    $powIter = function ($base, $exp, $acc) use (&$powIter) {
        if ($exp === 0) { return $acc; }
        return $powIter ($base, $exp - 1, $acc * $base);
    };

    return $powIter ($base, $exp, 1);
}

myPow(3, 5); // 243
myPow(4, 4); // 256

Полезные ссылки

Рекомендуемые программы