Mailinglisten-Archive |
Aloha, > ---------- > Von: Felix Gangu[SMTP:fgangu_(at)_forevernet.org] > > ich habe folgenden Code: > > $DB = "mysql"; > > $GLOBALS[ "DB" ] = array > ( "const_dbserver" => "localhost", > "const_dbuser" => "bla", > "const_dbpwd" => "bla" > > ); > > wenn ich jetzt ein gettype auf $DB mache, erhalte ich "array". > > PHP4 macht also $GLOBALS["DB"] = $DB , sehe ich das richtig? > Ja. > Warum? > Du setzt (vermutlich direkt im Hauptprogramm) eine Globale Variable $DB (mit $GLOBALS['DB'] ). Du könntest ebenso: $DB = array > ( "const_dbserver" => "localhost", > "const_dbuser" => "bla", > "const_dbpwd" => "bla" > > ); > schreiben. Das mit dem $GLOBALS[...] brauchst du nur, wenn du aus einem Unterprogramm auf eine globale Variable zugreiffen moechtest, aber in diesem Fall wuerde reichen folgendes zu tun: function bla () { global $DB; echo 'Der Datenbankhost ist: ' . $DB[mysql][const_dbserver]; } Dies ist der Grund dafür, warum in deinem Fall $GLOBALS['DB'] und $DB das gleiche ist. (Ist übrigens ein schönes Beispiel für das, was bei PERL als LoL - Lists Of Lists bezeichnet wird (mehrdimensionales Array) $GLOBALS[DB][mysql][const_dbserver] ) Hoffe, es ist jetzt klarer ;-) Grüße, Mathias
php::bar PHP Wiki - Listenarchive