Heim  >  Artikel  >  Backend-Entwicklung  >  Die PHP-Rekursion kann das Problem nicht zurückgeben, die richtige Art und Weise, die Rekursion zu schreiben

Die PHP-Rekursion kann das Problem nicht zurückgeben, die richtige Art und Weise, die Rekursion zu schreiben

不言
不言Original
2018-04-20 11:36:281534Durchsuche

Der Inhalt dieses Artikels befasst sich mit dem Problem, dass die PHP-Rekursion nicht zurückgegeben werden kann. Jetzt kann ich sie mit allen teilen.

Konventionell Schreibmethode

function digui($tiaojian){
    if ($tiaojian) {        return  $data;
    }    else{        return digui();
    }
}


Hinweis: Wenn die Bedingung nicht erfüllt ist, muss die rekursive Funktion zurückgegeben werden. Andernfalls kann

nicht normal zurückgegeben werden, wenn die Rekursion nur der Ausgabe dient. Kann abgekürzt werden:

function digui($tiaojian){
    if ($tiaojian) {        echo $data;
    }    else{
        digui();
    }
}

Angebotsschreiben

function digui($tiaojian,&$result){
    if ($tiaojian) {        $result=$data;
    }    else{
        digui();
    }
}

Statische Variable

function digui(){
    static $count=0;    echo $count;    $count++;
}

digui();
digui();
digui();
digui();
digui();

Das Ausgabeergebnis ist: 0 1 2 3 4
Hinweis: Statische Variable Die Methode muss mit Vorsicht verwendet werden. Denn jedes Mal, wenn diese Methode aufgerufen wird, wird die ursprüngliche Methode bearbeitet, die diese Variable ursprünglich definiert hat.

Selbst nicht gesetzt kann statische Variablen nicht zerstören

function digui(){
    static $count=0;    echo $count;    $count++;    unset($count);
}

digui();
digui();
digui();
digui();
digui();

Dieser Code gibt immer noch 0 1 2 3 aus

Verwandte Empfehlungen:

Rekursive PHP-Funktion Beispielanalyse


Das obige ist der detaillierte Inhalt vonDie PHP-Rekursion kann das Problem nicht zurückgeben, die richtige Art und Weise, die Rekursion zu schreiben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn