главная :: основы PHP
Рекурсивные функции
Ситуация, при которой функция многократно вызывает сама себя, пока не будет выполнено некоторое условие, открывает замечательные
возможности. При правильном использовании рекурсивные функции уменьшают объем программы и делают ее более выразительной.
Рекурсивные функции особенно часто используются при выполнении повторяющихся действий — например, при поиске в файлах/массивах и
построении графических изображений (например, фракталов). Классическим примером рекурсивных функций, встречающимся во многих
курсах программирования, является суммирование чисел от 1 до N. Программа, приведенная в листинге 4.5, суммирует все целые числа от 1
до 10.
Листинг 4.5. Использование рекурсивной функции для суммирования последовательных целых чисел
function summation ($count) {
if ($count != 0) :
return $count + summation($count-1);
endif;
}
$sum = summation(10);
print "Summation = $sum";
В результате выполнения листинга 4.5 будет выведен следующий результат:
Summation = 55
Если функция вызывается достаточно часто, рекурсия делает программу более эффективной. Тем не менее, при использовании рекурсии
необходима осторожность, поскольку ошибки могут привести к зацикливанию программы.
|