>  기사  >  백엔드 개발  >  PHP 재귀 알고리즘이 단순화되었습니다.

PHP 재귀 알고리즘이 단순화되었습니다.

韦小宝
韦小宝원래의
2018-01-30 10:33:521408검색

재귀 함수는 자신을 직접 호출하거나 함수 본문에서 직접 호출하지만, 조건이 충족되면 함수 자체가 호출됩니다. 그렇지 않으면 이 함수의 자체 호출이 중지됩니다. 그러면 현재 프로세스의 제어가 상위 계층 함수로 반환되어 실행됩니다. 이렇게 설명하면 여전히 이해하기 어려울 수 있습니다.

예를 들어 다음 코드를 사용합니다.

function test ($n){
    echo $n."  ";
    if($n>0){
        test($n-1);
    }else{
        echo "";
    }
    echo $n."  "
}
test(2)

이 예제의 최종 출력 결과는 2 1 05fb6f3beb31540706eb26a1cd1069f9d0 1 2

출력이 이와 같은 이유를 설명하겠습니다

첫 번째 단계는 다음과 같습니다. test(2)를 실행하려면 echo 2를 실행하고 2>0이므로 test(1)을 실행하면 아직 실행할 시간이 없는 echo 2가 있습니다. 두 번째 단계는 test(1)을 실행하고 echo 1을 실행하는 것입니다. 1>0이므로 test(0)을 실행합니다. 마찬가지로 실행할 시간이 없는 echo 1이 있습니다. 세 번째 단계는 test(0), echo 0, test(0) 실행, echo 0입니다. 이번에는 0>0 조건을 만족하지 않아 test() 함수가 실행되지 않았으나 echo "" 이고 다음 echo 0 이 실행됩니다

이제 함수는 더 이상 자신을 호출하지 않고 실행을 위해 프로세스의 제어를 상위 레이어 함수로 반환합니다. 즉, 지금 모든 test()를 실행하기 시작합니다. 함수는 마지막 에코를 출력할 시간이 없었습니다. 0 위의 레이어는 1입니다. 출력 1. 1 위의 레이어는 2입니다. 이는 2를 출력한다는 의미입니다. 2에는 레이어가 없으므로 출력 내용은 2 1 05fb6f3beb31540706eb26a1cd1069f9d0 1 2

관련 읽기:

php 재귀 알고리즘

php 재귀 알고리즘: php 재귀 알고리즘 PHP 트리 - 재귀가 필요하지 않음: /*** 상위 노드 트리 만들기

array

* 매개변수 * $ar 배열...

php 재귀 알고리즘 일반적으로 사용되는 알고리즘 PHP 인터뷰

php 재귀 알고리즘:php 재귀 알고리즘 PHP 인터뷰의 일반적인 알고리즘...

PHP WeChat 빨간 봉투를 기반으로 한 PHP 재귀 알고리즘 알고리즘 토론

php 재귀 알고리즘: PHP WeChat 빨간 봉투를 기반으로 한 PHP 재귀 알고리즘 알고리즘 토론: 저는 임의로 빨간 봉투를 동문 위챗 그룹에 보냈고, 빨간 봉투의 총액을 10위안으로 설정했고, 무작위로 28명이 받을 수 있도록 지원했습니다. ...

위 내용은 PHP 재귀 알고리즘이 단순화되었습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.