Mailinglisten-Archive |
Hallo Liste, Ich wollte einem Azubi von uns einmal einen rekursiven Funktionsaufruf anhand eines kleines Beispiels demonstrieren, da ihm Rekursion so rein gar nichts sagt. Ich habe nun ein kleines Script gebastelt, um ihm das zu zeigen. Nun wollte ich mich nur kurz vergewissern, ob ich ihm 1. Keinen Schmarrn erzähle bei dem folgenden Code Beispiel 2. Das Beispiel verständlich ist (der Code wird nicht wirklich erläutert sollte aber meiner Meinung nach einleuchtend sein). Code: <?php class testRec { //Attribute private $maxRecCount = 15; //Maximaler Wert für $i private $countRuns = 0; //Anzahl der Durchläufe //Methoden public function doRec($i) { if($i <= $this->maxRecCount) { echo "Funktion wird aufgerufen mit Wert für i='".$i."'.<br/>"; //countRuns um 1 erhöhen. $this->countRuns++; //Funktion rekusiv aufrufen mit einem Wert i + 1 $i++; $this->doRec($i); } else { echo "<b>Ende</b><br/>"; echo "i hat den maximalen Wert von ".$this->maxRecCount." erreicht.<br/>"; echo "Die Funktion doRec() wurde ".$this->countRuns." mal aufgerufen."; } } } $test = new testRec(); //Rekursion starten $test->doRec(3); ?> ----------- Ende Code Ist das verständlich? Hat sich ein Fehler eingeschlichen? Bin für Kritik und Vorschläge offen. Danke und Grüße Matthias Hoseit
php::bar PHP Wiki - Listenarchive