PHP에서 재귀 작업하기
프로그래밍에는
재귀라는 개념이 있습니다. 이는 함수가
자기 자신을 호출하는 경우를 말합니다. 예제를 통해
살펴보겠습니다.
재귀를 사용하여 1부터 10까지의 숫자를
출력해 봅시다:
<?php
$i = 1;
function func()
{
global $i;
echo $i;
$i++;
if ($i <= 10){
func(); // 여기서 함수가 자기 자신을 호출합니다
}
}
func();
?>
이 코드가 어떻게 동작하는지 논의해 봅시다.
우리에게는 전역 변수 $i와
함수 func가 있습니다. 함수 내부에서는 콘솔에
변수 $i의 내용이 출력된 후,
++가 수행됩니다.
우리의 변수 $i가 10보다 작거나
같다면, 함수가 다시 호출됩니다.
변수 $i는 전역 변수이기 때문에,
함수가 새롭게 호출될 때마다 이전 호출에서 설정된
변수 $i의 값을 가지게 됩니다.
결과적으로, 함수는 $i가
10보다 커질 때까지 자기 자신을 호출하게 됩니다.
우리의 경우에는 함수를 if 없이
실행할 수 없습니다. 그렇게 하면
함수의 무한 호출이 발생합니다.