PHP Manual
/
Variablen

Lokale Variablen in PHP

22. 08. 2019

Lokale Variablen sind nur innerhalb des Körpers einer **Funktion** oder **Methode** (in der objektorientierten Programmierung) gültig.

Wenn wir im Kontext eines regulären Skripts arbeiten, geschieht alles wie erwartet:

$x = 5;
echo $x; // druckt 5

Wenn wir jedoch eine benutzerdefinierte Funktion definieren, ändert sich das Verhalten leicht:

$x = 5;
function mojeFunkce(): int
{
$x = 3;
echo $x; // druckt 3
}
echo $x; // druckt 5

Der Grund dafür ist, dass die Variable $x nur im Kontext der aktuellen Funktion oder Methode existiert. Dieses Verhalten ist beabsichtigt.

Wenn wir einen Wert aus dem umgebenden Code an eine Funktion übergeben wollen, müssen wir sie mit den erforderlichen Parametern aufrufen:

echo mojeFunkce(5); // druckt 6
function mojeFunkce(int $x): int
{
return $x + 1;
}

In Funktionen werden Werte über Parameter eingegeben. Wenn Sie über die Parameter hinaus weitere Variablen an die Funktion übergeben wollen, können Sie globale Variablen verwenden, aber das ist keine gute Idee.

Die Verwendung lokaler Variablen macht einen großen Unterschied bei der Programmierung einer größeren Anwendung. Wenn wir nicht zwischen der Gültigkeit von Variablen in verschiedenen Kontexten unterscheiden würden, wäre es unmöglich zu garantieren, dass eine Variable nicht an einer Stelle überschrieben wird, an der wir nicht mit ihr rechnen (deshalb sind globale Variablen böse).

$x = 5;
$y = 3;
function soucet(int $x, int $y): int
{
return $x + $y;
}
echo $x; // druckt 5
echo soucet($x, $y); // druckt 8

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Související články

1.
2.
Status:
All systems normal.
2024