Hi,
beim Gültigkeitsbereich von Variablen bin ich derweil etwas unschlüssig.
der ist in PHP auch für mein Empfinden manchmal etwas seltsam.
Ich nahm immer an, dass Variablen in Schleifen und Verzweigungen nur lokal gelten, aber habe ich das richtig verstanden, dass Variablen, die einmal deklariert wurden, im ganzen Script gelten?
Teils, teils.
Anders als in C/C++ definiert ein neuer Block, der mit geschweiften Klammern geöffnet wird, nicht automatisch einen neuen Gültigkeitsbereich (Scope). Das geschieht in PHP nur bei der Deklaration einer Funktion.
Anders als in C ist außerdem eine globale Variable (also eine, die außerhalb aller Funktionen deklariert wird) nicht innerhalb einer Funktion verfügbar, außer man stellt sie mit der globals-Anweisung ausdrücklich der Funktion zur Verfügung.
In C ist dagegen der Zugriff "von innen nach außen" ja immer möglich.
Eine Variable, die in einem Schleifenblock oder einem if-Block deklariert ist, steht damit tatsächlich dem ganzen Script zur Verfügung - oder der ganzen Funktion, wenn sich die fragliche Passage innerhalb eines Funktionsrumpfs befindet.
So long,
Martin
Mit einem freundlichen Wort und einer Waffe erreicht man mehr, als mit einem freundlichen Wort allein.
(Al Capone, amerikanische Gangsterlegende)