Variable Variable
Sebastian Becker
- php
Hallo,
ich möchte Variablennamen innerhalb einer Funktion dynamisch erzeugen: $item1, $item2, $item3, $item4, $item5 ...
Dazu hatte ich an eine Lösung in etwa dieser Art gedacht:
${item$number}
So scheint es aber nicht zu funktionieren. Wie muß denn die richtige Syntax aussehen?
Danke für alle Hinweise, Grüße,
Sebastian
Hallo Sebastian!
So scheint es aber nicht zu funktionieren. Wie muß denn die richtige Syntax aussehen?
Das liest Du am besten direkt im PHP-Manual nach.
Lesetip: http://de2.php.net/manual/en/language.variables.variable.php
Außerdem kannst Dir auch mal http://dclp-faq.de/q/q-variable-variablen.html durchlesen.
MfG
Götz
Das liest Du am besten direkt im PHP-Manual nach.
Lesetip: http://de2.php.net/manual/en/language.variables.variable.php
Das mit den Arrays:
${$var}[0]
funktioniert nicht!
Hallo.
Dazu hatte ich an eine Lösung in etwa dieser Art gedacht:
${item$number}
So in der Art geht das auch. Nur so:
$var_ = "item".$number;
$var = ${$var_};
MfG,
Freddy
Hallo, Freddy,
meine Skript sieht jetzt in etwa so wie unten aus.
Leider sind alle ausgegebenen Variablen leer ...
Any ideas?
Danke, Grüße,
Sebastian
---------------------------------------------------------------
$item2 = 'Description';
$item3 = 'Technical Data';
$item4 = 'Download';
$this_page = $_SERVER['PHP_SELF'];
$item2_link = $this_page.'?part=2';
$item3_link = $this_page.'?part=3';
$item4_link = $this_page.'?part=4';
function tabItem($number)
{
$item_number = 'item'.$number;
$item_link_number = 'item'.$number.'_link';
global ${$item_number},${$item_link_number};
echo "<td id="item$number"><a href="${$item_link_number}">${$item_number}</a></td>\n";
}
tabItem('2');
tabItem('3');
tabItem('4');
hi,
verwende doch einfách ARRAYs! Das ist ein Variable, die mehrere Variablen in sich selber speichern kann und diese auch nummeriert.
Hallo, Cursed Dr@gon,
verwende doch einfách ARRAYs! Das ist ein Variable, die mehrere Variablen in sich selber speichern kann und diese auch nummeriert.
war eigentlich naheliegend und so mache ich es jetzt auch. Aber die Sache mit den variablen Variablen hätte mich doch interessiert ...
Nach der Umstellung bekomme ich jetzt natürlich eine neue Fehlermeldung:
Cannot use a scalar value as an array
Wie man's auch macht ...
Grüße,
Sebastian Becker
Hi,
du kannst auch folgendes machen:
eval("item".$number." = 123;");
Schöne Grüße,
Julian