Heim > Backend-Entwicklung > PHP-Tutorial > Detaillierte Erläuterung des PHP-Variablenbereichs

Detaillierte Erläuterung des PHP-Variablenbereichs

墨辰丷
Freigeben: 2023-03-25 18:56:01
Original
2207 Leute haben es durchsucht

Der Gültigkeitsbereich einer Variablen ist der Kontext, in dem sie definiert ist (d. h. ihr effektiver Gültigkeitsbereich). In JavaScript gibt es kein Konzept für den Variablenbereich. Ein ähnliches Konzept könnte der Bereich sein. Da JavaScript jedoch einen lexikalischen Bereich verwendet, der sich auf die Position bezieht, wenn die Variable deklariert wird, und PHP keine Variablendeklaration hat, entspricht die Variable der Deklaration der Variablen, wenn ihr zum ersten Mal ein Wert zugewiesen wird. Daher sind die beiden nicht dasselbe. In diesem Artikel wird der Variablenbereich in PHP ausführlich vorgestellt.

1. Lokale Variablen
Lokale Variablen sind Variablen, die innerhalb einer Funktion deklariert sind und deren Gültigkeitsbereich auf das Innere der Funktion beschränkt ist. Die Parameter einer Funktion sind ebenfalls lokale Variablen. Der Unterschied besteht darin, dass der Funktionsparameterwert aus dem beim Aufruf übergebenen Wert stammt. Nach der Ausführung werden alle dynamischen Variablen innerhalb der Funktion freigegeben.

<?php
    function a($b){
        $c = 1;        echo "$b+$c = " . ($b+$c) . &#39;<br />&#39;;
    }
    a(2);//输出3
    echo $b+$c;//函数外部的非法访问,报notice错误,并输出0
?>
Nach dem Login kopieren

2. Globale Variablen
Variablen, die außerhalb der Funktion definiert werden, werden globale Variablen genannt und ihr Gültigkeitsbereich reicht vom Anfang der definierten Variablen bis zum Ende der Programmdatei.
Außerdem können globale Variablen nicht direkt in einer Funktion aufgerufen werden. Sie müssen das Schlüsselwort global verwenden. Anstelle von global können Sie auch $GLOBALS verwenden. $GLOBALS ist eine superglobale Variable.

<?php
    //示例1
    $a = 1;    $b = 2;    function Sum(){
        global $a, $b;        $b = $a + $b;
    }
    Sum();    echo $b;//输出的结果是3

    //示例2
    $c = 1;    $d = 2;    function Sum()
    {
        $GLOBALS[&#39;d&#39;] = $GLOBALS[&#39;c&#39;] + $GLOBALS[&#39;d&#39;];
    }
    Sum();    echo $d;//输出3
?>
Nach dem Login kopieren

3. Statische Variablen
Statische Variablen existieren nur im lokalen Funktionsbereich, aber wenn die Programmausführung diesen Bereich verlässt, geht ihr Wert nicht verloren. Statische Variablen werden mit statischen Variablen deklariert, und diejenigen, die nicht statisch deklariert sind, sind standardmäßig dynamische Variablen. Nachdem die Funktion ausgeführt wurde, sind die internen statischen Variablen bereits im Speicher gespeichert. Sie wird nur beim ersten Aufruf der Funktion während der Skriptausführung initialisiert.

<?php
    function test()
    {
        static $a = 0;        echo $a;        $a++;
    }
    test();//输出0
    test();//输出1
?>
Nach dem Login kopieren

Statische Variablen bieten auch eine Möglichkeit, mit rekursiven Funktionen umzugehen. Eine rekursive Funktion ist eine Funktion, die sich selbst aufruft. Seien Sie beim Schreiben rekursiver Funktionen vorsichtig, da diese möglicherweise auf unbestimmte Zeit rekursiv sind. Sie müssen sicherstellen, dass es geeignete Möglichkeiten gibt, die Rekursion zu beenden. Die folgende einfache Funktion zählt rekursiv bis 10 und verwendet die statische Variable $count, um zu bestimmen, wann gestoppt werden soll

<?php
    function test()
    {
        static $count = 0;        $count++;        echo $count;        if ($count < 10) {
            test();
        }        $count--;
    }
?>
Nach dem Login kopieren

Verwandte Empfehlungen:

PHP-Variablenbereich

PHP-Variablenbereich, globale PHP-Variablen und statische Variablen

Einführung in den PHP-Variablenbereich_PHP-Tutorial

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des PHP-Variablenbereichs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage