muenzchen: zahl hinter variable schreiben

wenn ich zB 10 variablen aus einem forumular einlese, die alle gleich sind bis auf eine zahl dahinter (zB. bild1,bild2,...) und die dann alle mit php ausgeben möchte is es doch umständlich alles extra zu schreiben.

nur wie macht man das in einer schleife ?

ich kann doch nicht einfach so schreiben

$i=1;

bild+$i, oder ?

ich hab aber mal gehört, dass es irgendwie geht ?
kann mir jemand helfen ???

  1. wenn ich zB 10 variablen aus einem forumular einlese, die alle gleich sind bis auf eine zahl dahinter (zB. bild1,bild2,...) und die dann alle mit php ausgeben möchte is es doch umständlich alles extra zu schreiben.

    nur wie macht man das in einer schleife ?

    Sinnvoll waere dann, die Namen der Formularelemente gleich als name="bild[]" zu schreiben, dann wird das Array $bild frei Haus geliefert.

    ich kann doch nicht einfach so schreiben

    $i=1;

    bild+$i, oder ?

    $bild="bild"+$i; oder $bild[]="bild"+$i; ginge schon.

    MfG, Thomas

    1. Ich schrieb:

      $bild="bild"+$i; oder $bild[]="bild"+$i; ginge schon.

      Korrektur: In PHP werden Zeichenkettenoperationen nicht mit +, sondern mit dem Punkt-Operator realisiert:

      Also:
      $bild="bild".$i; oder $bild[]="bild".$i;

      MfG, Thomas

      PS: Kann beim gleichzeitigen Arbeiten in mehreren Sprachwelten schon mal vorkommen, sorry.

  2. wenn ich zB 10 variablen aus einem forumular einlese, die alle
    gleich sind bis auf eine zahl dahinter (zB. bild1,bild2,...) und
    die dann alle mit php ausgeben möchte is es doch umständlich alles
    extra zu schreiben.

    nur wie macht man das in einer schleife ?

    for ($i=0; $i<10; $i++)
     {
      $var="bild" . $i;
      echo "${$var}";
     };

    Nicht geprüft, aber so müsste es funktionieren. Schau mal in der PHP-Anleitung unter "Language Reference" > "Variables" > "Variable Variables" nach, da ist es genau erklärt.

    Gruß,
      soenk.e

  3. so meinte ich das nicht genau. die namen stehen in einer externen HTML datei, die nix mit php zu tun hat.
    auch möchte ich die namen nicht wieder in einer variable speichern müssen.
    also gleich schreiben

    print "bild".$i;

    sodass ich alle 10 bildnamen ausgedruckt bekomme.

    geht das ?

    1. so meinte ich das nicht genau. die namen stehen in einer externen
      HTML datei, die nix mit php zu tun hat.

      auch möchte ich die namen nicht wieder in einer variable speichern
      müssen.
      also gleich schreiben

      print "bild".$i;

      sodass ich alle 10 bildnamen ausgedruckt bekomme.

      Was genau willst du denn nun? Ich habe dich so verstanden, daß du x Variablen hast, die alle mit bild anfangen und auf eine Zahl enden: $bild1, $bild2, .., $bildn.

      Wenn das falsch ist, mußt du dich nochmal klarer ausdrücken.

      geht das ?

      Wenn das richtig war, dann geht das so, wie Thomas und ich dir geschrieben haben. Entweder änderst du das Forumlar so, daß es die Formulardaten als Feld zurückgibt oder du mußt den Variablennamen konstruieren und PHP sagen, daß es den Variablennamen aus einer Variablen lesen soll. So war es bei mir zu sehen.

      Mit print("bild" . $i); gibst du nur den Text "bild" und dahinter den Wert von $i aus.

      Gruß,
        soenk.e