Arbeiten mit Funktionen in PHP

Unterkapitel

Gültigkeitsbereich von Variablen in PHP

Wird nichts anderes vereinbart, ist eine Variable in dem Programmteil gütig, in dem sie definiert wird. Dies bedeutet, dass eine Variable, die innerhalb einer Funktion definiert wird auch nur innerhalb der Funktion bekannt ist. Ebenso ist eine Variable, die ausserhalb einer Funktion definiert wird, auch nur dort bekannt (in C ist das anders!). Soll eine ausserhalb einer Funktion definierte Variable auch innerhalb einer Funktion gültig sein, so muss diese Variable im Funktionsrumpf als global deklariert werden.

Beispiel:

PHP Quelltext Ausgabe
$a = 1;
$b = 2;

Function Sum () {
     global $a, $b;

     $b = $a + $b;
}

Sum ();
echo "b = $b";
b = 3

Variablen, die innerhalb einer Funktion definert werden, verlieren normalerweise ihren Wert, wenn die Abarbeitung der Funktion beendet ist. Wenn dies verhindert werden soll, muss die Variable als static vereinbart werden.

Beispiel:

PHP Quelltext Ausgabe
Function Test () {
     static $a = 0;
     echo "a = $a <br>";
     $a++;
}
Test ();
Test ();
Test ();
Test ();
a = 0
a = 1
a = 2
a = 3

Literatur