Работа с рекурсией в 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 - если это сделать,
то получится бесконечный вызов функций.