Sönke Tesch: Variable aus Function

Beitrag lesen

Vielleicht 'ne blöde Frage:
Wie übergebe ich eine Variable von einer function an das "Hauptprogramm"? Umgekehrt mach ich das ja einfach so: function_sowieso($variable); In der function soll die $variable aber geändert werden, und das "Hauptprogramm" soll es auch mitbekommen...

Zum Beispiel mit

function funktion($innen)
   {
    $innen+=1; // einen dazuzählen
    return $innen;
   };

in der Funktion. Die Funktion muß dann so

$variable=funktion($variable);

aufgerufen werden. PHP hat übrigens die etwas außergewöhnliche Eigenschaft, Variablen nicht in den Gültigkeitsbereich von Funktionen zu übernehmen; $variable von oben existiert also nicht in der Funktion, nur $innen.

Alternativ kannst Du auch einen Zeiger auf die Variable selber übergeben, so daß die Variable $variable auch innerhalb der Funktion existiert:

function funktion(&$innen)
   {
    $innen+=1;
   }

Folgendes Programm

$i=1;
  funktion($i);
  echo $i;

würde dann 2 ausgeben.

Last but not least kannst Du auch Variablen allgemein in eine Funktion reinholen, dazu dient "global":

function funktion()
   { global $i;
    $i+=1; // einen dazuzählen
   }

Diese Funktion hätte denselben Effekt wie im zweiten Beispiel oben.

Gruß,
  soenk.e

PS: RTFM.