variabeln dynamisch ansteuern

Chris Kurt

Erfahrenes Mitglied
aalso,
ich hab da gerade ein kleines syntax-problem:

ich hab eine php datei in der nur variabeln deklariert werden. die sieht in etwa so aus:
PHP:
<?
$name1="hans";
$email1="hans@wurst.de";
$name2="Hubert";
$email2="hu@bert.de";
?>
wenn ich jetzt aus einer anderen datei die 1. datei per include lade und dann z.b. $name2 ausgeben lassen geht das perfekt.
mein problem gerade ist das ich nicht per hand name1, name2,... schreiben will sondern das ganze in eine schleife packen möchte.
bis jetzt sieht die so aus:
PHP:
$fp=fopen("count.txt","r"); 
$count=fgets($fp,1024);
$co = intval (substr ($count,4)); //das ist die zählvariabel
fclose($fp);
include("log.txt"); //das ist die datei mit name1, name2 und so...
echo($name1); //das klappt soweit, allerdings willl ich das ganze dynamisch
for( $i=$co; $i>0; $i--) { //co ist bekannt, daran liegt der fehler nicht
	$tempname="\$name$i"; //schreibweise 1 (klappt nicht)
	echo($tempname);
	$tempemail=$email+$i; // schreibweise 2 (klappt auch nicht)
	echo($tempemail);
	}
?>

hat jemand ne andere schreibweise anzubieten?

greeties

kuat
 
Ich hab dein Script jetzt nur kurz überflogen, aber ich glaube du willst den Wert einer Variablen auslesen, deren Name in einem String gespeichert ist. Das geht folgendermaßen:
PHP:
$tempname="name$i";
echo $$tempname;    // doppeltes $$ beachten

Allerdings wäre hier ein Ansatz über Arrays eher zu empfehlen... In der Datei, die du inkludierst ("log.txt" ist gefährlich, da jeder auf den Inhalt der Datei zugreifen kann... "log.php" wäre besser), steht folgendes:
PHP:
<?
$name[0]="hans";
$email[0]="hans@wurst.de";
$name[1]="Hubert";
$email[1]="hu@bert.de";
?>
Oder einfacher:
PHP:
<?
$name[]="hans";
$email[]="hans@wurst.de";
$name[]="Hubert";
$email[]="hu@bert.de";
?>

Die Schleife, mit der die Variablen ausgegeben werden, sieht dann z.B. so aus:
PHP:
for($i=0; $i<count($name); $i++) 
{
  echo $name[$i];
  echo $email[$i];
}

Falls du das nicht so ganz verstehst, solltest du dich mal über Arrays schlau machen. Das wird dir nicht nur in diesem Fall helfen, Arrays kann man sehr oft gebrauchen und sind richtig angewand auch sehr nützlich.

HTH


reima
 
Zuletzt bearbeitet:
besten dank, jetzt klappt alles.
ich hatte das vorher schonmal mit arrays versucht, aber irgendwie tendenziell eher erfolglos.

jetzt funktioniert auf jeden fall alles wie geplant.

: )
 

Neue Beiträge

Zurück