Heim  >  Artikel  >  Backend-Entwicklung  >  Bringen Sie Ihnen Schritt für Schritt bei, wie Sie rekursive PHP-Funktionen erlernen

Bringen Sie Ihnen Schritt für Schritt bei, wie Sie rekursive PHP-Funktionen erlernen

醉折花枝作酒筹
醉折花枝作酒筹Original
2021-03-23 09:45:281959Durchsuche

Rekursion ist, wenn sich eine Funktion innerhalb ihres Funktionskörpers selbst aufruft. Die Ausführung einer rekursiven Funktion ruft sich selbst wiederholt auf und betritt jedes Mal eine neue Ebene. Rekursive Funktionen müssen eine Endbedingung haben. Folgen wir dem Editor, um die Rekursion zu lernen.

Bringen Sie Ihnen Schritt für Schritt bei, wie Sie rekursive PHP-Funktionen erlernen

Die Idee der Rekursion besteht darin, ein relativ komplexes Problem (ursprüngliches Problem) in kleinere Probleme (Unterprobleme) umzuwandeln, die dem zu lösenden ursprünglichen Problem ähneln Probleme werden auf natürliche Weise gelöst. Die rekursive Methode benötigt nur eine kleine Anzahl von Programmen, um die mehrfach wiederholten Berechnungen zu beschreiben, die im Problemlösungsprozess erforderlich sind, wodurch die Menge an Programmcode erheblich reduziert wird. Natürlich sind rekursive Funktionen nicht perfekt und haben bestimmte Nachteile, das heißt, rekursive Funktionen arbeiten nicht effizient.
Die Anzahl der Rekursionsebenen in PHP ist nicht unbegrenzt. Dies hängt mit der Speichergrenze des Programms zusammen, PHP5允许一个程序使用128M的内存,因此当递归层数过大导致128M内存耗尽时,程序就会产生一个致命错误并退出。PHP7允许使用256Mdem Speicher.

Eine rekursive Funktion ruft sich selbst innerhalb der Funktion auf. Die Ausführung einer rekursiven Funktion ruft sich selbst wiederholt auf und betritt jedes Mal eine neue Ebene. Rekursive Funktionen müssen eine Endbedingung haben. Wenn die Funktion so lange rekursiv arbeitet, bis sie auf eine Wand trifft und zurückkehrt, ist die Wand die Endbedingung. Daher muss die Rekursion zwei Elemente haben, die Endbedingung und die Rekursionsbeziehung.

Hinweis: Wenn die Funktion aufgerufen und ausgeführt wird, reserviert sie Speicherplatz im Speicher zum Speichern temporärer Daten, sodass während der Ausführung standardmäßig keine Verbindung zwischen Funktionen besteht (außer bei statischen Variablen, Referenzübergaben und globalen Variablen). ). Die darin enthaltenen Variablen sind standardmäßig alle lokale Variablen und haben keinen Einfluss aufeinander. Schauen wir uns ein Beispiel an, um unseren Eindruck zu vertiefen:

rrree

Kommt Ihnen dieses Beispiel bekannt vor? Wenn wir die Fibonacci-Folge berechnen, ist es immer noch relativ schwierig, andere Methoden zu verwenden effizienter.

Empfohlenes Tutorial: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonBringen Sie Ihnen Schritt für Schritt bei, wie Sie rekursive PHP-Funktionen erlernen. 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