PHP - Gültigkeit von Variablen (Scope)

Aus Wikizone
Version vom 13. August 2013, 16:06 Uhr von 134.3.241.116 (Diskussion)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Gültigkeit bei Includes[Bearbeiten]

<?php
$a = 1;
include "b.inc";
// $a ist in der Datei b.inc Verfügbar
?>


Globale und Lokale Gültigkeit[Bearbeiten]

<?php
$a = 1; // globaler Bereich

function test () { 
    echo $a; // $a hat keinen Wert, sie bezieht sich auf den Bereich der Funktion
} 

test ();
?>


Lokal verfügbar machen mit Schlüsselwort global[Bearbeiten]

<?php
$a = 1; // globaler Bereich

function test () {
    global $a; 
    echo $a; // $a hat keinen Wert, sie bezieht sich auf den Bereich der Funktion
} 

test ();
?>


Zugriff mit der Superglobalen Variable $GLOBALS[Bearbeiten]

<?php
$a = 1;
$b = 2;

function Summe()
{
    $GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
} 

Summe();
echo $b;
?>


Statische Variablen[Bearbeiten]

Werte aus Funktionen verfügbar machen mit Schlüsselwort static. Static erhöht die Lebensdauer der Variablen über die Funktion hinaus. Das ist nützlich bei rekursiven Funktionen (Funktionen die sich selbst aufrufen).

Im Beispiel wird zaehler verwendet um den rekursiven Aufruf zu unterbrechen.

<?php
function Test()
{
    static $zaehler = 0;

    $zaehler++;
    echo $zaehler;
    if ($zaehler < 10) {
        Test ();
    }
    $zaehler--;
}
?>