Hallo Rainer,
echo $Variable; /* geht nicht */
Kommt drauf an, wo du $Variable definiert hast.
function bla()
{
$Variable = $_GET['Variable'];
echo $Variable;
}
funktioniert natürlich, wohingegen
$Variable = $_GET['Variable];
function bla()
{
echo $Variable;
}
nicht das gewünschte Ergebnis liefert.
echo $_GET ["Variable"]; /* geht auch nicht */
Sollte es eigentlich schon. Allerdings darf (vielleicht geht es
sogar, aber es ist kein guter Stil) kein Leerzeichen zwischen
"$_GET" und "[" stehen.
aber
echo $_GET ['Variable']; /* muesste gehn */
Solange Du keine Variablen in dem String hast, ist das genau das
gleiche wie $_GET["Variable"].
$Variable = $GET['Variable']; echo $Variable; /*muesste auch gehen */
$_GET['Variable'].
^
$Variable = "blabla"; /* verändert den Wert des array-elements nicht */
Genau.
d.h.:
Das array $_GET ist zwar in der Funktion bekannt, 'Variable' ist aber nur der Pointer!
Nein.
Wenn Du sowas machst "$Variable = $_GET['Variable];" dann ist
$Variable eine _Kopie_ von $_GET['Variable'].
Einen Pointer legst Du so an "$Variable = &$_GET['Variable'];". Wenn
Du dann $Variable einen anderen Wert zuweist "$Variable = "bla";",
dann hat $_GET['Variable'] den neuen Wert (bla), weil hier
ja $Variable nur auf $_GET['Variable'] _zeigt_ und selber keinen
Wert hat.
Habe es nicht getestet und wüste gerne ob ich damit richtig liege!?
Hoffe ich konnte Dir helfen und hab selber keinen Denkfehler
reingebracht :)
Gruß,
dimde