Mailinglisten-Archive |
Hi Niels, Am Montag, 2. Oktober 2006 15:47 schrieb Niels Runge: > hmm, also ich meinte auch die ganze Zeit nur die Superglobalen ;-) > Von definiert/undefiniert habe ich eigentlich auch nie gesprochen, > egal. doch, hier: "Und dadurch kann man keine lokale Variable definieren die den Namen einer Superglobale hat." Ich habe das vermutlich nur etwas anders interpretiert, als Du es gemeint hast. :-) > Also so denke ich es halt > > <?php > $foo = 1; > > function bar() { > global $foo; > > echo $foo; > > } > ?> > > Hier spricht man die lokale Variable $foo an, die allerdings eine > Referenz zur globalen Variable $foo besitzt. > Und bei Superglobalen spricht man eben immer direkt die Superglobale > an, es kann keine lokale Variable existieren mit dem Namen einer > Superglobalen. Auch wenn Du vielleicht das Gefühl hast, daß wir etwas aneinander vorbeireden, glaube ich, daß wir eher von unterschiedlichen Voraussetzungen ausgehen. $foo in Deinem obigen Beispiel ist für mich keine lokale, sondern eine globale Variable in der Funktion. Darauf stütze ich auch meine Argumentation. Ich habe gerade noch mal ins Handbuch geguckt. Wenn ich das richtig lesen, müßte meine Auslegung auch stimmen: "By declaring $a and $b global within the function, all references to either variable will refer to the global version." -> http://de2.php.net/manual/en/language.variables.scope.php Und das ist der Punkt, weswegen ich dann meine, daß Deine Erklärung leider nicht mehr ganz paßt. :-( Obwohl ich so gerne eine hätte... ;-) Viele Grüße Lutz
php::bar PHP Wiki - Listenarchive