Announcement

Collapse
No announcement yet.

Codebeispiel zu Rekusiven Funktionen in PHP

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Codebeispiel zu Rekusiven Funktionen in PHP

    Liebes Entwicklerforum,

    ich bin seit 2 Tagen dabei mich in PHP einzulesen. Nun bin ich auf ein Codebeispiel gestoßen, dass rekursive Funktionen, also solche Funktionen veranschaulichen soll, die sich selbst aufrufen.

    Berechnet wird in dem Beispiel die Fakultät:

    PHP Code:
    <?php
      
    function fakultaet($i) {
        if (
    $i 0) {
          return 
    $i fakultaet($i-1);
        } else {
          return 
    1;
        }
      }
      echo 
    fakultaet(5);
    ?>
    Das Ergebnis des Ganzen ist dann 120. Allerdings komme ich weder mathematisch noch durch bloßes au9einandernehmen des Codes dahinter, wie diese Funktion letzten Endes zur Zahl 120 kommt.

    Ich fre mich über jeden Erklärungsversuch zu diesem Beispiel, schließlich will ich php ja begreifen.

    Dankeschön!

    Gruß

    Joachim

  • #2
    5*4*3*2*1=120

    Das wäre wohl die mathematische Erklärung

    Die Funktion wird erstmalig mit 5 aufgerufen. Dann prüft sie, ob der übergebene Wert größer 0 ist. Wenn ja ruft die Funktion sich selber wieder auf, wobei sie 1 von übergebenen Wert subtrahiert. Und so weiter....
    Christian

    Comment


    • #3
      Das ist das klassische Beispiel für Rekursion In OOP würde ich allerdings davon abraten Rekursion zu exzessiv einzusetzen.

      Comment


      • #4
        In OOP würde ich allerdings davon abraten Rekursion zu exzessiv einzusetzen.
        Ähhh, warum? Klassisches Beispiel: Lesen aller Dateieinträge. Wird wohl ohne Rekursion umständlich sein

        http://entwickler-forum.de/showthread.php?t=63610
        Christian

        Comment

        Working...
        X