[GastForen Programmierung/Entwicklung PHP und MySQL Variable in Variable ...

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Variable in Variable ...

Anonym
Beiträge gesamt: 22827

7. Mai 2003, 14:56
Beitrag # 1 von 4
Bewertung:
(771 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Grüezi

Zuerst der Code:
$counter = "1";
$f1 = "ok";
$test = "f".$counter;
echo "$$test";

Ich dachte so müsste "ok" auf dem Bildschirm erscheinen, aber leider erscheint immer "$f1" anstatt "ok". Wieso? Kann man das irgend wie umgehen? Oder fehlen einfach irgend welche Zeichen? Warum wird da die Variable "$f1" nicht gesetzt/gefüllt?

Besten Dank. Mit freundlich Grüssen
X

Variable in Variable ...

Baschi3
Beiträge gesamt: 294

7. Mai 2003, 15:56
Beitrag # 2 von 4
Beitrag ID: #34207
Bewertung:
(771 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

mit Arrays müsste es gehen.

$counter = 1;
$arr[1] = "OK";
$test = $arr[$counter];
echo $test;

Franz


als Antwort auf: [#34201]

Variable in Variable ...

Anonym
Beiträge gesamt: 22827

7. Mai 2003, 17:42
Beitrag # 3 von 4
Beitrag ID: #34224
Bewertung:
(771 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Der Fehler liegt darin, dass PHP nach dem ersten $ einen gültigen Variablenamen sucht und nicht findet, du musst die erweiterte Syntax benutzen:

$counter = '1';
$f1 = 'ok';
$test = 'f'.$counter;
echo "{$$test}";

sollte funktionieren. Du kannst aber beim Echo in diesem Falle auch einfach nur
echo $$test;
schreiben ;)
Beachte auch, dass ich die " bei den ersten Strings durch ' ersetzt habe, da du dort keine Variablenerkennung und auch keine erweiterten Steuerzeichen brauchst und dem PHP-Interpreter so ein wenig Arbeit ersparst

Zu den verschiedenen String Modi gibt's hier die Erklärungen:
http://www.php.net/...age.types.string.php


als Antwort auf: [#34201]

Variable in Variable ...

Anonym
Beiträge gesamt: 22827

7. Mai 2003, 17:45
Beitrag # 4 von 4
Beitrag ID: #34225
Bewertung:
(771 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
mist, Fehler, muss

echo "{${$test}}";

heissen


als Antwort auf: [#34201]
X