PHP - Gültigkeit von Variablen (Scope): Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
Zeile 56: Zeile 56:
 
'''Statische Variablen'''
 
'''Statische Variablen'''
  
Werte aus Funktionen verfügbar machen mit Schlüsselwort static
+
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.
 +
 
 +
<pre>
 +
<?php
 +
function Test()
 +
{
 +
    static $zaehler = 0;
 +
 
 +
    $zaehler++;
 +
    echo $zaehler;
 +
    if ($zaehler < 10) {
 +
        Test ();
 +
    }
 +
    $zaehler--;
 +
}
 +
?>
 +
</pre>

Version vom 13. August 2013, 16:03 Uhr

Gültigkeit bei Includes

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

Globale und Lokale Gültigkeit

<?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

<?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

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

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

Summe();
echo $b;
?>

Statische Variablen

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--;
}
?>