Portal > Foren > PHP > PHP-Programmierung > Rekursion innerhalb einer Klasse...
Antwort
 
Themen-Optionen
Alt 14.07.2006, 09:29 Nach oben    #1
Benutzer
 
Registriert seit: 12.12.2005
Beiträge: 49
Standard Rekursion innerhalb einer Klasse...

Hallo zusammen,

ich schreib grad an einer Klasse (php4) und wollte jetzt in einer Funktion/Methode der Klasse eine Rekursion einbauen.
Nur ein Beispiel:
PHP-Code:
class Rek {
    function 
countUp ($start=0$end=100) {
        if (
$start $end)
            
$start++;
        
        
// ab in die Rekursion
        
$this->countUp($start);
    }

Hab bis jetzt noch nie eine rekursive Funktion in einer Klasse gebraucht, ist aber schon möglich oder?
__________________
Gruß
code5
code5 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.07.2006, 09:43 Nach oben    #2
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard

Eine Methode ist doch fast wie eine Funktion. Warum sollte es denn nicht gehen?

Außerdem ist testen immer noch das beste um zu lernen
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.07.2006, 09:48 Nach oben    #3
Benutzer
 
Registriert seit: 12.12.2005
Beiträge: 49
Standard

Zitat:
Außerdem ist testen immer noch das beste um zu lernen
Der Meinung bin ich auch!
Naja leider kommt bei meinen Tests ein "Error 500". Mein Problemm ist, dass ich nicht genau weiß wie ich die Methode aufrufen soll, damit er nicht zu diesem Fehler kommt.
Die Rekursion an sich müsste funktionieren! Das heißt dass er da nicht in eine endlosschleife rein geht oder sowas...
__________________
Gruß
code5
code5 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.07.2006, 09:54 Nach oben    #4
Benutzer
 
Registriert seit: 12.12.2005
Beiträge: 49
Standard

Zitat:
Außerdem ist testen immer noch das beste um zu lernen
wie peinlich...
Sorry Thread kann gelöscht werden. Hab einen Wert zuwenig übergeben und dadurch kam eine endlosschleife zustande!
__________________
Gruß
code5
code5 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.07.2006, 09:54 Nach oben    #5
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard

PHP-Code:
<?php
class Rek {
    function 
countUp ($start=0$end=100) {
        if (
$start $end)
        {
            
$start++;
            echo 
$start."<br/>";
        } else {
            return 
"fertig";
        }
        
// ab in die Rekursion
        
$this->countUp($start);
    }
}

$test = new Rek();
$test->countUp();
?>
Damit sollte es doch gehen oder nicht?

//edit: hm, mein apache von Xampp semmelt sofort ab
*peinlich* !!!! vielleicht sollte man auch ein abbruchkriterium einbauen? *done*
__________________
I did it my way - Senseless-Blog

Geändert von WarrenFaith (14.07.2006 um 09:57 Uhr).
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.07.2006, 09:55 Nach oben    #6
Erfahrener Benutzer
 
Benutzerbild von xardias
 
Registriert seit: 02.03.2006
Ort: Aachen
Beiträge: 148
Standard

naja erstmal brauchst du ein objekt der klasse:
$blub = new Rek();
dann kannste davond ie methode doch ganz normal aufrufen:
$blub->countUp(0, 10);

PS: ich würde den $end wert auch in der rekursion weiter geben, also so:
$this->countUp($start, $end);

edit:
gerade gelesen da kamen 2 posts dazwischen wärend ich geschrieben habe
xardias ist gerade online  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.07.2006, 09:59 Nach oben    #7
Benutzer
 
Registriert seit: 12.12.2005
Beiträge: 49
Standard

Zitat:
naja erstmal brauchst du ein objekt der klasse:
Naja ist klar!
Zitat:
PS: ich würde den $end wert auch in der rekursion weiter geben, also so:
Das muss nicht sein, würde auch so gehen!
Zitat:
*peinlich* !!!! vielleicht sollte man auch ein abbrufkriterium einbauen?
Bin schon seit längerer Zeit wach, weil ich das Teil fertig bekommen muss.
Sorry
__________________
Gruß
code5
code5 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.07.2006, 10:26 Nach oben    #8
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard

Das Peinlich war eher auf mich bezogen, weil ich das selbst nicht gesehen hab
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Klasse in Klasse verwenden? goelliboy PHP-Programmierung 12 07.09.2007 11:43
Problem beim Funktionsaufruf innerhalb einer Klasse cracki PHP-Programmierung 7 10.03.2007 17:25
Wert Varible in Listener anderer Klasse nutzen??? risa Desktop-Applikationen und Grafik 1 03.04.2006 07:36
[PHP] Eine Einführung in die Rekursion Jojo Tutorials 8 11.03.2006 22:11
Innerhalb einer Methode einer Klassenvariablen einer anderen Klasse etwas zuweisen... WarrenFaith PHP-Programmierung 18 10.03.2006 21:25


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:10 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44