phpbar.de logo

Mailinglisten-Archive

[php] AW: [php] array frage

[php] AW: [php] array frage

Gloss Mathias Mathias.Gloss_(at)_start.de
Tue, 30 May 2000 12:12:58 +0200


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