Globales Array definieren
alkativo
- php
Hi,
wie schreibe ich ein Array in eine Php DAtei, die ich dann mit include einbinde und rufe das Array in einer Funktion auf? DAnke für eure Tipps.
Cu
wie schreibe ich ein Array in eine Php DAtei, die ich dann mit include einbinde und rufe das Array in einer Funktion auf? DAnke für eure Tipps.
in der Funktion das Array anziehen mit global
Siehe dazu: http://ch2.php.net/language.variables.scope
mfg Freezer
Hello,
wie schreibe ich ein Array in eine Php DAtei, die ich dann mit include einbinde und rufe das Array in einer Funktion auf? DAnke für eure Tipps.
Bei Funktionen ist es immer ratsam, die Parameter als Kopie oder deren Adresse explizit zu übergeben. Sonst handelt es sich nämlich eigentlich nicht um Funktionen, sondern um "Wegwerf-Prozeduren". Bei Verwendung globaler Variablen können die Prozeduren mesitens nur für einen Zweck eingestzt werden.
Um ein Array autoglobal zu machen, braucht man es einfach nur als Subarray in eines der autogloablen Arrays $_POST, $_GET, $_COOKIE einzuhängen. Nicht so gut geeignet ist $_SESSION, da die Variablen dann bei Script-Exit (Ende) mit abgespeichert werden würden.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
hi,
Um ein Array autoglobal zu machen, braucht man es einfach nur als Subarray in eines der autogloablen Arrays $_POST, $_GET, $_COOKIE einzuhängen.
das mag zwar "funktionieren" - aber trotzdem erschaudere ich allein bei dem gedanken :-)
gruß,
wahsaga
Hello,
Um ein Array autoglobal zu machen, braucht man es einfach nur als Subarray in eines der autogloablen Arrays $_POST, $_GET, $_COOKIE einzuhängen.
das mag zwar "funktionieren" - aber trotzdem erschaudere ich allein bei dem gedanken :-)
Wieso? Es handelt sich bei diesen Arrays um "ganz normale" Variablen-Kollektionen, mit denen man innerhalb des Scriptes arebiten darf. Da das Script selber weiß, was es tut, und das benötigte globale Array auch erst nach dem Scriptstart angeleget wird, hat das Script die volle Kontrolle über die Variablen.
Ich erschaudere aber bei dem Gedanken, Funktionen mit globalen Variablen zu verwenden. Ausnahmen bilden da eben wirklich nur die Aufrufparameter (GPC & Freunde).
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hello,
http://de2.php.net/manual/de/reserved.variables.php#reserved.variables.globals
Ich hatte zwar schonmal geantwortet, aber das Posting ist im Nirwana versickert.
Die Idee mit $GLOBAL ist sicher die bessere. dann muss es Wahsaga auch nicht mehr schlecht werden.
Man hängt die neuen Werte einfach in $GLOBAL ein, wenn das geht. Ich habe es noch nicht ausprobiert.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
hi,
Wieso? Es handelt sich bei diesen Arrays um "ganz normale" Variablen-Kollektionen, mit denen man innerhalb des Scriptes arebiten darf.
diese arrays enthalten normalerweise daten aus jeweils einer ganz bestimmten quelle - GET, POST oder COOKIE eben.
den vorschlag, diesen jetzt eigene daten _anderer herkunft_ "unterzuschieben", nur um auf diese weise die eigenschaft "superglobal" ausnutzen zu können - finde ich extrem unsauber.
Ich erschaudere aber bei dem Gedanken, Funktionen mit globalen Variablen zu verwenden.
/me too.
und es kommt eben noch hinzu,
Ausnahmen bilden da eben wirklich nur die Aufrufparameter (GPC & Freunde).
dein vorschlag dürfte zweifellos _funktionieren_ - aber ich halte dies wie gesagt für einen äußerst unsauberen "missbrauch" dieser arrays, nur weil man eben auf eine ihrer eigenschaften "scharf ist".
gruß,
wahsaga