이 기사
public function digui($i) { if($i=='1'){ echo "*" ; echo "<br>"; return ; }else{ $this->digui($i-1); for($j=1;$j<=$i;$j++){ echo "*" ; } echo "<br>"; } } 调用 $this->digui(3); 结果 * ** *** function digui2($n){ echo $n." "; if($n>0){ $this-> digui2($n-1); }else{ echo "<-->"; } echo $n." "; }
Call $this->digui2(3);
Result
3 2 1 0 <-->0 1 2 3
재귀 함수 실행 해부 예시(다른 사람에게서 다시 게시됨)
다음 코드를 보세요:
<?php function one($num){ echo $num; two($num-1); echo $num; } function two($num){ echo $num; three($num-1); echo $num; } function three($num){ echo $num; } one(3); ?>
위 코드는 test() 함수를 분해합니다.
one(3) 함수를 실행할 때 test() 함수와 마찬가지로 먼저 3을 출력하고 그 다음 2를 호출합니다. (2) 함수,
다음 3개는 현재 출력되지 않았음을 주의하세요,
계속해서 2개 함수를 실행하고, 2개를 출력하고, 3개 함수를 호출하세요. 마찬가지로 시간이 없습니다. 다음 2개를 출력하고,
3개(1)를 실행하고, 1개를 다른 함수를 호출하지 않고 직접 출력합니다.
이때 two() 함수가 아직 실행되지 않았는지 궁금합니다. 그럼 둘 중 끝나지 않은 부분을 실행해 보세요. () 함수. two() 함수가 실행된 후, 즉 다음 2를 출력하고, one() 함수의 완료되지 않은 부분, 즉 다음 3을 출력합니다. 이때 모든 함수는 종료됩니다. 실행.
그러면 출력 결과는 다음과 같습니다.
3 2 1 2 3
관련 권장 사항:
위 내용은 PHP 재귀 함수 예제 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!