Работа с рекурсией в PHP
В программировании есть такое понятие, как
рекурсия - это когда функция вызывает
сама себя. Давайте посмотрим на примере.
Выведем с помощью рекурсии числа от 1
до 10
:
<?php
$i = 1;
function func(){
echo $i;
$i++;
if ($i <= 10){
func(); // здесь функция вызывает сама себя
}
}
func();
?>
Давайте обсудим, как работает этот код.
У нас есть глобальная переменная $i
и функция func
, внутри которой в консоль
выводится содержимое переменной $i
,
а затем делается ++
.
Если наша переменная $i
меньше или
равна 10
, то функция вызывается повторно.
Так как переменная $i
- глобальная,
то при каждом новом вызове функции в ней
будет заданное при предыдущем вызове значение
переменной $i
.
Получится, что функция будет вызывать сама
себя до тех пор, пока $i
не станет
больше 10
.
Учтите, что в нашем случае нельзя функцию
запустить без if
- если это сделать,
то получится бесконечный вызов функций.