Hi!
OK, so gibt man alle Teile eines Arrays aus. Was aber hat das jetzt mit variablen Variablen zu tun? Ich verstehe auch Længlich's Aussage nicht:
Dein Versuch sah so aus, als ob du variable Variablen verwenden willst. Das willst du aber gar nicht, sondern hat nur fälschlicherweise deren Syntax verwendet. Vergiss die VV also in Bezug auf dein Problem. Du möchtest einfach nur einen variablen Wert als Array-Key verwenden.
Die Verwendung von variablen Variablen ist fast immer ein Anzeichen unsauberer Programmierung.
Wieso? Und warum gibt es sie dann?
Man kann mit jedem Feature unsauber programmieren, trotzdem gibt es sie. VVs sind jedoch prädestiniert für falsche Anwendung seitens der Noch-nicht-Wissenden. Sie legen damit gern Variablen wie beispielsweise $foo1 bis $foo42 an. Damit sie dann auf deise Variablen zugreifen können, nehmen sie VV.
$bar = 'foo' . $i;
echo $$bar;
Stattdessen ist es besser ein Array zu verwenden
$bar = array();
echo $bar[$i];
Damit hat man alles in einer Variablen und nicht in vielen. Ein Array lässt sich viel besser rumreichen als ein Bündel einzelner Variablen.
PS: Falls es dich interessiert, wieso ich das mit dem $_POST überhaupt gebraucht habe: Ich habe ein Formular mit mehreren Eingebefeldern, deren Eingaben allesamt überprüft werden. Um den Code ganz klein und übersichtlich zu halten, habe ich das so gelöst: Ich habe eine EINZIGE Überprüfungsdatei, in der alle Überprüfungsroutinen drin stehen. Für jedes Eingabefeld brauche ich jetzt nur noch 2 Zeilen, nämlich das include für die Überprüfungsdate und ein Array, mit dem ich der Überprüfungsdatei sage, was sie überprüfen soll und was nicht. (Das erste Element zB sagt bei 0, dass ein Feld auch leer bleiben darf, 1 bedeutet, es darf nicht leer bleiben. Und so weiter...) Das letzte Element dieses Arrays ist jeweils der Name des Eingabefeldes. Die Überprüfungsdatei macht daraus dann ein $_POST, um überhaupt zum zu überprüfenden Stringinhalt kommen zu können.
Darauf könnte ich jetzt auch antworten:
Wie gesagt, ohne ein konkretes Beispiel kann ich mit so Phrasen nichts anfangen.
Mach ich aber nicht. :-)
Lo!