Gültigkeitsbereich von PHP -Variablen
Gültigkeitsbereich von PHP-Variablen
In PHP können Variablen überall im Skript deklariert werden.
Der Gültigkeitsbereich einer Variablen ist der Teil des Skripts, in dem auf die Variable verwiesen/verwendet werden kann.
PHP hat drei verschiedene Gültigkeitsbereiche von Variablen:
- lokal
- global
- statisch
Globaler und lokaler Geltungsbereich
Eine außerhalb einer Funktion deklarierte Variable hat einen GLOBAL SCOPE und kann nur außerhalb einer Funktion aufgerufen werden:
Beispiel
Variable mit globalem Gültigkeitsbereich:
<?php
$x = 5; // global scope
function myTest() {
// using x inside this function will generate an error
echo "<p>Variable x inside function is: $x</p>";
}
myTest();
echo "<p>Variable x outside function is: $x</p>";
?>
Eine innerhalb einer Funktion deklarierte Variable hat einen LOKALEN GELTUNGSBEREICH und kann nur innerhalb dieser Funktion aufgerufen werden:
Beispiel
Variable mit lokalem Gültigkeitsbereich:
<?php
function myTest() {
$x = 5; // local scope
echo "<p>Variable x inside function is: $x</p>";
}
myTest();
// using x outside the function will generate an error
echo "<p>Variable x outside function is: $x</p>";
?>
Sie können lokale Variablen mit demselben Namen in verschiedenen Funktionen haben, da lokale Variablen nur von der Funktion erkannt werden, in der sie deklariert sind.
PHP Das globale Schlüsselwort
Das global
Schlüsselwort wird verwendet, um innerhalb einer Funktion auf eine globale Variable zuzugreifen.
Verwenden Sie dazu das global
Schlüsselwort vor den Variablen (innerhalb der Funktion):
Beispiel
<?php
$x = 5;
$y = 10;
function myTest()
{
global $x, $y;
$y = $x + $y;
}
myTest();
echo $y; // outputs 15
?>
PHP speichert auch alle globalen Variablen in einem Array namens
. Der enthält den Namen der Variablen. Auf dieses Array kann auch innerhalb von Funktionen zugegriffen werden, und es kann verwendet werden, um globale Variablen direkt zu aktualisieren.$GLOBALS[index]
index
Das obige Beispiel kann wie folgt umgeschrieben werden:
Beispiel
<?php
$x = 5;
$y = 10;
function myTest()
{
$GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}
myTest();
echo $y; // outputs 15
?>
PHP Das statische Schlüsselwort
Wenn eine Funktion abgeschlossen/ausgeführt wird, werden normalerweise alle ihre Variablen gelöscht. Manchmal möchten wir jedoch, dass eine lokale Variable NICHT gelöscht wird. Wir brauchen es für einen weiteren Job.
Verwenden Sie dazu das static
Schlüsselwort, wenn Sie die Variable zum ersten Mal deklarieren:
Beispiel
<?php
function myTest()
{
static $x = 0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>
Dann enthält diese Variable bei jedem Aufruf der Funktion immer noch die Informationen, die sie vom letzten Aufruf der Funktion enthielt.
Hinweis: Die Variable ist immer noch lokal für die Funktion.