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.
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
允许使用256M
dem 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:
rrreeKommt 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!