재귀 함수, 재귀는 이름일 뿐이며 재귀 함수의 규정: 함수 본체가 함수 자체를 호출합니다.
이 장의 학습 과정에서 정말로 생각을 따라갈 수 없다면 공부하지 않고 이 장을 건너뛰어도 됩니다.
실제 작업에서는 재귀가 유용하긴 하지만 그 활용도는 그리 크지 않을 것이기 때문입니다. 재귀는 주로 실제 작업, 즉 파일과 폴더를 조작할 때 사용됩니다.
해결책:
생각이 이 장을 따라갈 수 없는 경우 이 블록의 원리를 직접 이해하고 기성 파일 및 폴더 처리 기능이나 파일 처리 클래스를 사용할 수 있습니다.
생각의 맹점 몇 가지를 말씀드리겠습니다.
1. 코드는 위에서 아래로 실행됩니다. 모든 코드에는 종료 등의 정지 문자가 없으며, 함수는 반드시 다음과 같이 실행되어야 합니다. 완전한.
2. 함수 A에서 함수 B로 점프하는 경우 함수 A의 나머지 코드를 실행하기 전에 함수 B를 먼저 실행해야 합니다.
3. 재귀 함수는 실행을 완료할 수 있어야 하고 종료 조건이 있어야 합니다. 그렇지 않으면 함수가 무한 루프에 들어갑니다. 함수는 영원히 실행됩니다.
이해할 수 있는 코드를 작성해 보겠습니다.
<?php $num = 10; //调用一次函数A(); A($num); function A( $arg ){ echo $arg; //在函数A里面去,跑去执行函数B去了 B($arg); echo '我们需要不断的努力,努力到上天都为我们感动'; echo $arg.'<br />'; } function B( $number ){ echo $number; echo '俺是狗蛋,执行完了<br />'; } ?>
위의 예를 통해 다음을 확인할 수 있습니다.
1. 함수 A 실행 중간에 실행하여 실행합니다. 함수 B
2. 함수 B를 실행한 후 가장 먼저 표시되는 것은 "나 개년이야, 실행이 끝났어"이고, 다음으로 표시되는 것은 "우리는 계속 열심히 일해야 해. 그리고 하나님이 감동하실 때까지 열심히 일하세요.”
3. 이것은 우리가 생각의 맹점이라고 부르는 것을 증명합니다. 코드는 위에서 아래로 실행되며 코드는 완료되어야 합니다.
간단한 재귀 코드를 작성하고 함수가 스스로 호출되도록 합시다.
아아아아결과가 어떨지 맞춰보세요? 왜 이런가요?
신중하게 추론해보자:
1. dg()가 처음 호출되면 숫자 $n = 2가 dg에 전달되고 2가 먼저 표시됩니다.
2 . 그런 다음 $n - 1 $n의 값을 1로 설정합니다
3. 그런 다음 $n이 0보다 큰지 판단하면 0보다 커야 하므로 직접 재귀를 호출하고 다시 실행합니다.
4. 두 번째로 dg()를 실행하면 '나는 개입니다. 아직 실행하지 않았습니다'라는 메시지가 나타납니다. 아직 도착하지 않았습니다. 실행이 완료될 때까지 기다린 후 실행하세요
';