Bastian Schnitzler: Variable-Variable2

Hallo!
Ich hab folgendes Problem, ich möchte in einer While-Schleife jeweils die nächste Variable ausgeben, die ein Array ist. Im Forum fand ich folgende Lösung:
$i=0;
$WelchesX;
$x1=array("Wert1","Wert2");
$x2=array("Wert1","Wert2");
$x3=array("Wert1","Wert2");
usw.
while($i<20)
{
$WelchesX = "x".$i;
echo"Wert1", ${$WelchesX}[0] "Wert2", ${WelchesX}[1];
}
Was erst Wert 1 von x1 dann Wert 2 von x1, dann Wert 1 von x2 usw. ausgeben soll; dass funktioniert aber nicht. Er gibt nur aus:
Array(wenn man halt${$WelchesX} ausgibt) und dahinter [0]. Weis jemand Rat?
Vielen Dank im Voraus,
euer BaSchni

  1. Hi

    $WelchesX = "x".$i;

    Ich weiß zwar nicht, wie es geht, aber so kann man keine Variablen "erstellen".

    Außerdem würde das $ vor dem x fehlen.

    Andy

    1. $WelchesX = "x".$i;

      Ich weiß zwar nicht, wie es geht, aber so kann man keine Variablen "erstellen".

      Außerdem würde das $ vor dem x fehlen.

      Quatsch, das funktioniert, das $ wird ja erst später hinzugefügt.
      Aber ich hab den Fehler gefunden:
      Man darf dies nicht in einem echo-Befehl definieren, sondern muss es vorher in einer Variable speichern
      var1 = ${$var0}[0];
      echo var1;
      Tschau,
      BaSchni

  2. Hallo!

    $i=0;
    $WelchesX;
    $x1=array("Wert1","Wert2");
    $x2=array("Wert1","Wert2");
    $x3=array("Wert1","Wert2");
    usw.
    while($i<20)
    {
    $WelchesX = "x".$i;
    echo"Wert1", ${$WelchesX}[0] "Wert2", ${WelchesX}[1];
    }

    1. Die Varible $i hat hier immer den Wert 0. Du müsstest die Variable bei jedem durchlauf der Schleife um eines erhöhen damit irgendwann einmal $i  nicht < 20 ist. Das heißt:

    {
    $WelchesX = "x".$i;
    echo"Wert1", ${$WelchesX}[0] "Wert2", ${WelchesX}[1];
    $i++;  // <<<<<< i=i+1;
    }

    1. Nach echo mach bitteschön einen Abstand.

    2. Text/Strings "addiere" mit "." also: echo "einText" . $eineVariable ...;

    3. Sollte jetzt gehen aber ich würde das mit mehr dimensionalen arrays machen. Das heißt:

    $x[1]=array("wert1","wert2");
    $x[2]=array("wert1","wert2");

    ...

    while ($i<20)
    {
    echo "Wert1: " . $x[$i][0] . " Wert2: " .$x[$i][1];
    $i++;
    }

    mfG Robert

  3. hi,

    $x1=array("Wert1","Wert2");
    $x2=array("Wert1","Wert2");
    $x3=array("Wert1","Wert2");

    warum fügst du nicht einfach eine weitere array-dimension hinzu?

    $wertarray[1] = array("Wert1","Wert2");
    $wertarray[2] = array("Wert1","Wert2");
    $wertarray[3] = array("Wert1","Wert2");

    gruss,
    wahsaga