Chris: rekursive Funktion

Beitrag lesen

Hallo,

Die Ausgabe ist immer 1

<?
echo TEST(1);
function TEST($a) {
  $output = $a;
  $aa = $a + 1;
  if ($aa >= 5) {
    echo TEST($aa);
    }
  return $output;
}
?>

Wolltest Du nicht eine rekursive Funktion bauen?
Deine ist eigentlich nicht wirklich rekursiv, da sie mit dem Funktionsergebnis nicht weiterabrbeitet, sondern es lediglich ausgibt.

<?php

function TEST($a)
 {
   $output = $a;
   if ($a >= 5)
   {
     echo 'Ende erreicht: '.$a;
   }
   else
   {
     $a = 1 + test($a);
   }

return $output;
}

echo TEST(1);

?>

Vielleicht meintest Du es so?
Hier wird im Else-Zweig mit dem Erbegnis der Funktion weitergearbeitet.

LG
Chris