Zugriff auf globale Variablen innerhalb von PHP-Funktionen
In den meisten Programmiersprachen ist der Zugriff auf außerhalb von Funktionen definierte Variablen innerhalb dieser Funktionen möglich. Allerdings erzeugt ein PHP-Code wie dieser möglicherweise nicht die erwartete Ausgabe:
$data = 'My data'; function menugen() { echo "[" . $data . "]"; } menugen();
Die Ausgabe ist ein leeres Array [], sodass Benutzer verwirrt sind, warum auf die globale Variable $data nicht zugegriffen werden kann.
Die Antwort liegt in den Variablenbereichsregeln von PHP. Um innerhalb einer Funktion auf globale Variablen zuzugreifen, müssen diese explizit mit dem Schlüsselwort global deklariert werden. Dadurch wird sichergestellt, dass PHP die Variable im globalen Bereich und nicht nur innerhalb der Funktion suchen muss:
$data = 'My data'; function menugen() { global $data; // Declare the global variable echo "[" . $data . "]"; } menugen();
Ein alternativer Ansatz besteht darin, über das Array $GLOBALS auf globale Variablen zuzugreifen, das alle definierten Variablen enthält. Aufgrund möglicher Konflikte und Variablennamenkollisionen wird jedoch generell davon abgeraten.
Abschließend wird empfohlen, die Verwendung globaler Variablen auf ein Minimum zu beschränken, um Bereichsprobleme zu vermeiden und die Codeklarheit zu wahren. Erwägen Sie stattdessen, Daten als Parameter an Funktionen zu übergeben und sicherzustellen, dass der Umfang der Variablen klar definiert und die Abhängigkeiten klar sind.
Das obige ist der detaillierte Inhalt vonSo greifen Sie auf globale Variablen in PHP-Funktionen zu: Warum wird „globale $Daten' benötigt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!