Array in variabler Variable wird nicht ausgegeben
Raik
- php
Hallo,
Ich hab prinzipiell folgende Konstruktion (im Original komplexer, aber das Prinzip reicht ja):
------------------
$tpl = (1)?'auk':'neu';
$auk = array('a' => 'test1','b' => 'test2','c' => 'test3');
$tbl = '<table><tr><td>'.$$tpl['a'].'</td><td>'.$$tpl['b'].'</td><td>'.$$tpl['c'].'</td></tr></table>';
------------------
print_r($$tpl); gibt aus:
array() {
["a"]=> "test1"
["b"]=> "test2"
["c"]=> "test3"
}
wenn ich allerdings $tbl ausgeben lasse:
echo $tbl;
erhalte ich nur:
<table><tr><td></td><td></td><td></td></tr></table>
Ich versuche mich zum ersten Mal mit variablen Variablen. woran liegt es, dass die Daten in $tbl nicht übernommen werden, b.z.w. wie muss ich vorgehen, um das zu erreichen? gibt es evtl. bessere Lösungen dafür?
freundl. Grüsse aus Berlin, Raik
Huhu Raik
die Lösung findest Du im Manual unter
http://www.php.net/manual/de/language.variables.variable.php
also statt $$tpl['a'] müsstest Du ${$tpl}['a'] schreiben.
Ich versuche mich zum ersten Mal mit variablen Variablen. woran liegt es, dass die Daten in $tbl nicht übernommen werden, b.z.w. wie muss ich vorgehen, um das zu erreichen? gibt es evtl. bessere Lösungen dafür?
Also ich persönlich halte nichts von variablen Variablen.
Sie machen den Code immer ein bischen voodoo und schwer lesbar.
Funktionen wie extract() stehen deshalb bei mir auch im Giftschrank.
Viele Grüße
lulu
Hallo, lulu!
die Lösung findest Du im Manual unter
http://www.php.net/manual/de/language.variables.variable.php
also statt $$tpl['a'] müsstest Du ${$tpl}['a'] schreiben.
vielen dank! :-)
wie wäre es performance-mässig, wenn ich die beiden arrays, zwischen denen da mithilfe der varVar umgeschaltet wird, in einem weiteren zusammenfasse und per index darauf zugreife?
freundl. Grüsse aus Berlin, Raik