Moin!
Mir gelingt es nicht per ${$variable} auf das superglobale Request-Array zuzugreifen.
Warum willst du das über diesen Umweg machen, und nicht direkt?
Mit ${"variable"} klappt dies aber. Ich bin ein wenig confused darüber, kann mir das vlt. mal jmd erklären? Ich arbeite schon ne ganze Weile mit diesen ${}-Konstrukt und stelle fest das ich nichtmal weiss wie man sowas überhaupt bezeichnet :P.
Das ist eine "variable Variable". Die geschweiften Klammern sind übrigens nicht notwendig, $$variable funktioniert auch.
ALLERDINGS: Die Anwendung dieses Konstrukts ist als extrem negativ zu bewerten. Es gibt manche Situationen, in denen man sowas tatsächlich benötigt - aber die sind wirklich EXTREM SELTEN! Also verabschiede dich am besten davon, denn es macht deinen Code extrem unübersichtlich und fehleranfällig. Du müßtest extrem sorgfältig den Variableninhalt von $string prüfen, ob er ausschließlich erwünschte Inhalte enthält - denn über das Konstrukt der variablen Variable kann man ja auf jede existierende Variable zugreifen, wenn man nur deren Namen in $string einschmuggeln kann.
Also bitte nicht machen!
<code>
Hehe, in diesem Forum hat die Codefunktion eckige Klammern, genauso wie die Links. Mit dem Attribut "lang" kann man dann noch Syntaxhighlighting für eine Sprache wählen. Siehe </hilfe/bedienung.htm#syntax-highlighting>
> <?php
> $string = "_REQUEST";
> echo "["; var_dump($string); echo "]<br>";
> if (isset(${$string})) {
> echo "Zugriff mit Variante A:<br>";
> print_r(${$string});
> echo "<br><br>";
> }
>
> echo "["; var_dump("_REQUEST"); echo "]<br>";
> if (isset(${"_REQUEST"})) {
> echo "Zugriff mit Variante B:<br>";
> print_r(${"_REQUEST"});
> echo "<br><br>";
> }
> ?>
- Sven Rautenberg
My sssignature, my preciousssss!