Возможно ли на php писать рекурсивные функции?

Аватар пользователя Аслан Аутлев
Аслан Аутлев
26 февраля 2023

Да, на PHP можно писать рекурсивные функции. Рекурсия — это метод решения задач путём деления их на более простые подзадачи. Таким образом, функция вызывает саму себя, чтобы продвинуться в направлении решения задачи.

Пример:

function factorial($num)
{
    if ($num === 1) {
        return 1;
    }
    return $num * factorial($num -1);
}

При использовании анонимной функции, ее следует передавать через замыкание в use

function factorial($num)
{
    $iter = function ($num) use (&$iter) {
        if ($num === 1) {
            return 1;
        }
        return $num * $iter($num -1);
    }

    return $iter($num);
}
0 0