Heim > Artikel > Backend-Entwicklung > Prinzipien und Anwendungen des rekursiven Aufrufs von PHP-Funktionen
Prinzip der Funktionsrekursion: Funktion ruft sich selbst auf (Selbstreferenz). Die Parameter ändern sich bei jedem Aufruf. Setzen Sie die Rekursion fort, bis die Rekursionsbedingung (Stoppbedingung) erfüllt ist. Rekursive Anwendung von Funktionen: Komplexe Probleme vereinfachen (in Teilprobleme zerlegen). Sauberer Code (eleganter). Beispiel: Fakultät berechnen (zerlegt in Produkte). Finden Sie die Vorfahren eines Knotens im Baum (rekursive Suche).
Das Prinzip und die Anwendung des rekursiven PHP-Funktionsaufrufs
Was ist Funktionsrekursion?
Funktionsrekursion bezieht sich auf eine selbstreferenzielle Funktion des Funktionsaufrufs selbst. Wenn eine Funktion in sich selbst aufgerufen wird, spricht man von einem rekursiven Aufruf.
Das Prinzip der Rekursion
Vorteile der Rekursion
Anwendungsfälle
1. Berechnen Sie die Fakultät
function factorial($number) { if ($number == 1) { return 1; } else { return $number * factorial($number - 1); } } echo factorial(5); // 输出: 120
2. Finden Sie die Vorfahren der Knoten im Baum
class Node { public $data; public $children; } function findAncestors($node, $target) { if ($node->data == $target) { return [$node->data]; } else { $ancestors = []; foreach ($node->children as $child) { $ancestors = array_merge($ancestors, findAncestors($child, $target)); } if (!empty($ancestors)) { $ancestors[] = $node->data; } return $ancestors; } } $root = new Node(['data' => 'root']); $node1 = new Node(['data' => 'node1']); $node2 = new Node(['data' => 'node2']); $node3 = new Node(['data' => 'node3']); $root->children = [$node1, $node2]; $node2->children = [$node3]; $ancestors = findAncestors($root, 'node3'); var_dump($ancestors); // 输出: ['root', 'node2', 'node3']
Das obige ist der detaillierte Inhalt vonPrinzipien und Anwendungen des rekursiven Aufrufs von PHP-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!