Henry: global /Globale Variable funktioniert nicht wie erhofft

Beitrag lesen

problematische Seite

Hallo Auge,

Das ist eine absolute Falschinterpretation...

Aha, na schauen wir mal...

von global. Mit global erkläre ich nicht eine Variable aus dem eigenen Geltungsbereich/Scope für global verfügbar, sondern hole sie aus einem Geltungsbereich in einen anderen hinein. Typischerweise in eine Funktion, die ihren eigenen Scope hat und in dem eine nicht übergebene Variable aus dem globalen Raum schlicht nicht existiert.

Dann müsste es ja zumindest innerhalb der Funktion funktionieren, richtig?

function tuwas()
{

$a = 123;

global $a;

echo "<h1>xxx $a xxx</h1>";

$GLOBALS['g'] = $a;
}

tuwas();
$out = $GLOBALS['g'];
echo "<h1>Ausgabe: $out $a</h1>";

Tut es aber nicht weder innen noch außen. Bedeutet für mich klar die Variable $a wurde überschrieben mit NULL.

Meiner Meinung nach ist es keiner, aber das spielt für dich natürlich keine Rolle.

So wenig wie für dich.

Zudem ist das Beispiel auf der verlinkten Dokuseite eindeutig. Erst werden die Variablen $a und $b mit global in den Geltungsbereich der Funktion übernommen und erst dann werden sie für die Addition ($b = $a + $b;) benutzt. Selbsterklärend.

Nein, Fallstrick. 😉

Gruss
Henry

--
Meine Meinung zu DSGVO & Co:
„Principiis obsta. Sero medicina parata, cum mala per longas convaluere moras.“