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.
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(); } }
function digui($tiaojian,&$result){ if ($tiaojian) { $result=$data; } else{ digui(); } }
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!