de.comp.lang.php FAQ

6.7. Variable Variablen

Keywords: Variable | Array | Global

Antwort von Kristian Köhntopp

Manchmal möchte man auf Variablen zugreifen, deren Namen variabel sind. Zum Beispiel könnte man die Variablen mit den Namen $myvar1, $myvar2, $myvar3, ..., $myvar9 haben.

Am günstigsten wäre es, in so einem Fall ein Array zu nehmen.

for ($i=0; $i<10; $i++)
	echo $myvar[$i];

Wenn es unbedingt skalare Variablen sein müssen, kann man stattdessen über das $GLOBALS[]-Array zugreifen:

for ($i=0; $i<10; $i++) {
  if (isset($GLOBALS["myvar$i"]))
    printf("Variable var%d existiert und ihr Wert ist %s<br />\n",
      $i, $GLOBALS["myvar$i"]);
}

Statt echo $GLOBALS[$lall]; kann man auch die zwei Befehle global $$lall; echo $$lall; verwenden. Empfohlen ist jedoch das Konstrukt mit $GLOBALS[], weil es leichter zu lesen und zu verstehen ist. Das gilt besonders bei Dateinamen, die sich aus einem konstanten Stamm und einem variablen Anteil zusammensetzen.

Eine weitere alternative Schreibweise für variable Variablen ist ${$lall}; für zusammengesetzte Variablennamen entsprechend beispielsweise ${"datei_$lall"}.

hosted by
schlund + partner

Valid HTML 4.01! Valid CSS!

6.7. Variable Variablen
http://www.dclp-faq.de/q/q-variable-variablen.html
de.comp.lang.php FAQ | (c) Copyright 2000-2003 Das dclp-FAQ-Team