kollaps: Variable in for-Schleife

Hallo.

Also, ich habe ein HTML-Forumlar, welches viele Text-Inputs hat. Für jeden Tag (Dienstag bis Freitag) sind da 5 Eingabefelder (besser gesagt 15, aber die kann ich getrost außen vor lassen). Alle sind mit dem Namen di_1 (für das erste Feld am Dienstag) bis fr_5 (für das fünfte Feld am Freitag) gekennzeichnet.
Ich möchte diese Eingaben also mit "htmlentities()" in einer for()-Schleife behandeln. Beim Verbinden der Zählvariable mit dem Tageskürzel davor kommt aber ein Error:

for($i=1;$i<=5;$i++){
  $di_$i = htmlentities($di_$i);
  $mi_$i = htmlentities($mi_$i);
  $do_$i = htmlentities($do_$i);
  $fr_$i = htmlentities($fr_$i);
 }

=> Parse error: syntax error, unexpected T_VARIABLE ...

Nun dachte ich mir, beim Verbinden zweier Variablen muss man doch "." verwenden. Also habe ich die Schleife folgendermaßen ausgebaut:

for($i=1;$i<=5;$i++){
  $di_.$i = htmlentities($di_$i);
  $mi_.$i = htmlentities($mi_$i);
  $do_.$i = htmlentities($do_$i);
  $fr_.$i = htmlentities($fr_$i);
 }

Doch bei dieser Variante wird aber $di_.1 bis $fr_.5 ausgegeben.

Doch wie bekomme ich in einer for()-Schleife die Form $di_1 bis $fr_5 hin?
Ich bin dankbar um jede Antwort, die mir hilft ;)

euer kollaps

  1. hi,

    Doch wie bekomme ich in einer for()-Schleife die Form $di_1 bis $fr_5 hin?

    stichwort variable variablen.

    effektiver arbeitest du aber, wenn du gleich arrays verwendest.
    wenn du mehrere formularelemente hast, und sie mit "name[]" benennst, bekommst du dann in PHP gleich ein array mit deren übergebenen werten zur verfügung gestellt.

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. Doch wie bekomme ich in einer for()-Schleife die Form $di_1 bis $fr_5 hin?
      effektiver arbeitest du aber, wenn du gleich arrays verwendest.
      wenn du mehrere formularelemente hast, und sie mit "name[]" benennst, bekommst du dann in PHP gleich ein array mit deren übergebenen werten zur verfügung gestellt.

      Zusatz:
      Man kann den Key auch gleich festgelegen, dann ist er nicht von der Reihenfolge der Formularelemente abhängig. ("di[1]", "di[2]", .., "fr[5]")

  2. Hallo,

    Doch wie bekomme ich in einer for()-Schleife die Form $di_1 bis $fr_5 hin?

    ${'di'.$i}
    ...
    ${'fr'.$i}

    Gruß
    Lachgas

    --
    Keine Verbesserung ist zu klein oder geringfügig, als dass man sie nicht durchführen sollte. (Adorno)