Raffi: Eine fortlaufende Variable in einer Schleife nutzen

Hallo Leute

Stehe irgendwie an ;-)

Habe ein Formular mit folgenden Textfeldern:

funktion1
funktion2
funktion3
funktion4
etc.....

Dann wird die Save.php aufgerufen, die das ganze dann in die DB schreiben soll:

for ($i = 0; $i <= $anz; $i++)
{
$funktion = $$funktion.$i
print $funktion.'<br>';
}

Nun will ich folgendes erreichen:
bei jedem Schleifendurchlauf soll die $funktion um eins erhöht werden. Also beim ersten durchlauf:

$funktion = $funktion1;

beim zweiten:
$funktion = $funktion2;
etc.

Wie kann ich das machen?

Danke und gruss
Raffi

  1. hallo,

    Nimm den Code so wie du ihn geschrieben hast und er oben steht und dann läsuft alle.
    Denn die Variable "$i" wird bei jedem durxhlauf der Schleife um 1 erhöht und dass ergibt dann "funktion1-2-3-4-5-6".

    sam<,

    1. Nein er läuft nicht....leider....

      Über diesen umweg geht....geht das nicht irgendwie direkt?

      for ($i = 0; $i <= $anz; $i++)
      {
      $test1 = 'funktion'.$i;
      $funktion = $$test1;

      Gruss
      raffi

      1. Hallo,

        Über diesen umweg geht....geht das nicht irgendwie direkt?

        for ($i = 0; $i <= $anz; $i++)
        {
        $test1 = 'funktion'.$i;
        $funktion = $$test1;

        Ja, genau das wollte ich vorschlagen.
        Es ist auch logisch, dass nur das funktioniert.

        So, wie Du es zuerst hattest:
        $funktion = $$funktion.$i
        bedeutet es:
        Verknuepfe den String in $$funktion mit dem String $i
        Was mit $$funktion gemeint ist, haengt also vom alten Wert von $funktion ab.
        Beim ersten Durchgang ist $funktion wohl leer/undefiniert.
        $$funktion ist dann also $ - mit anderen Worten: Keine gueltige Variable.
        $funktion = $$funktion.$i
        wuerde zu $0 - auch wieder keine gueltige Variable.

        Anstatt der variablen Variablen wuerde ich viel eher einen Array nehmen.
        Aber das ist halt Geschmackssache.

        Gruesse,

        Thomas

  2. Hello,

    for ($i = 0; $i <= $anz; $i++)
    {
    $funktion = "$funktion.$i";
    print $funktion.'<br>';
    }

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen