Scope
Sinn und Zweck
Wer nicht weiß, was ein Scope einer Variable ist, der kann einmal
hier nachschauen. Kurz zusammengefasst bezeichnet ein Scope einer Variable den Bereich, wo sie gültig und definiert ist.
In PHP gibt es auch Gültigkeitsbereich von Variablen.
Allerdings gilt für globale Variablen eine andere Regel als in C.
Beispiel 1
<?php
$MyGlobalVariable = "hallo";
function fnTest(){
print $MyGlobalVariable;
}
?>
In obigem Beispiel ist die Variable $MyGlobalVariable zwar global definiert, aber innerhalb der Funktion fnTest hat sie
keinen Wert. Das heißt die print Anweisung wird nichts ausgeben.
Beispiel 2
<?php
$MyGlobalVariable = "hallo";
function fnTest(){
print $GLOBALS['MyGlobalVariable'];
}
?>
Die print Anweisung wird hier "hallo" ausgeben. Warum ist dies so? Dies liegt daran, dass man innerhabl von Funktionen auf globale Variablen nur mit dem $GLOBALS Array zugreifen kann. Dasselbe gilt für das Verändern von globalen Variablen.
$GLOBALS Array
Mit Hilfe dieses standardmäßig vorhandenen Arrays kann man auf die globalen Variablen auch innerhalb einer Funktion zugreifen.
Wichtig ist dabei, dass der
Variablenname ohne $ Zeichen als Schlüssel in dem Array
verwendet wird (siehe auch Beispiel 2)
Zusammenfassung
In PHP gibt es lokalen und globale Variablen. Die globalen Variablen sind aber innerhalb einer Funktion immer leer, d.h. man kann nicht auf globale Variablen zugreifen.
Mit Hilfe des autoglobalen Arrays $GLOBALS['$varName'] kann man jedoch auf die globalen Variablen zugreifen.
Infoblätter und Arbeitsblätter
noch keine verfügbar