hätte lieber einen aussagekräftigeren Titel genommen, aber der wäre zu lang gewesen

Also ich habe folgendes Problem wo ich momentan nicht durchblicke:
Ich habe eine Variable in einer globalen Datei als leer Deklariert. In einer anderen Datei wird diese Variable gefüttert mit Inhalt.
Die Zuweisung wird aber über eine Funktion gemacht. (Ich weiß bis jetzt blickt keiner durch).

Es soll genauso wie beim phpBB mit der Sprache funktionieren.
In der common.php wird $lang als leeres Array deklariert und über die Funktion init_userprefs() mit Inhalt gefüllt.
Die Funktion deklariert die Variable $lang global in die Funktion ein und includet die Sprachdatei (lang_main.php), welche die $lang mit Inhalten füttert.
Variablen die global in eine Funktion eingebunden werden und verändert werden, werden auch global verändert, daher muss net expliziet die $lang wieder an die auffrufende Datei zurück gegeben werden sondern wird automatisch angepasst.
Genauso habe ich dies auch in meiner Funktion gemacht, aber es gelingt nicht.
Variable global leer deklariert
in Funktion global eingebunden
Datei includet die die Variable füttert
Variable wird nicht zurück gegeben.
Warum wird es nun nicht global verändert??? gibt es da eine Idee woran das liegen könnte.
Das gleich in der selben Funktion habe ich schonmal gemacht, aber da wird die globale Variable net mit einer Datei gefüttert sondern mit einer Funktion die eine Array zurück gibt.
Warum aber net mit Dateien???
Die Datei findet er und kann auch laden, daran liegt es auch net.
Ich hab keinen Schimmer mehr.
Wäre super wenn jemand ne Idee hat, woran das liegen könnte.
Mfg
MrMind