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