außerhalb jeglicher funktionen liefert es einwandfrei den inhalt
innerhalb EINER (zahlenmäßig gemeint) funktion liefert es garnichts
innerhalb aller anderen funktionen liefert es NULL und eine NOTICEdas ergibt alles keinen SINN !!!!!!!!!!!
Wie Deine zweite Feststellung zu Stande kommt, weiß ich nicht (ich tippe auf irrtümlich fehlenden Funktionsaufruf), aber die beiden anderen sind vollkommen in Ordnung. Du hast schließlich nicht $gvar2 als global definiert, sondern $var2 (ohne g).
Das erklärt natürlich noch nicht, warum $gvar3 sich anders verhalten soll als $gvar2, deutet aber leicht an, dass Du Dich möglicherweise nur in Deinem Code verlaufen hast :)
Gruß,
soenk.e