Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen lokalen Variablen und globalen Variablen in PHP-Funktionen

Der Unterschied zwischen lokalen Variablen und globalen Variablen in PHP-Funktionen

伊谢尔伦
伊谢尔伦Original
2017-05-09 10:44:163684Durchsuche

Innerhalb des Programms definierte Variablen werden lokale Variablen genannt, die nur innerhalb des Programms verwendet werden und verschwinden, wenn das Programm endet. Außerhalb des Programms definierte Variablen werden globale Variablen genannt. Sie können vom Programm aufgerufen werden, verschwinden jedoch nicht, wenn das Programm endet. In den vorherigen Kapiteln wurden die lokalen Variablen benutzerdefinierter Funktionen bzw. die globalen Variablen benutzerdefinierter Funktionen von PHP-Funktionen vorgestellt. Definieren Sie eine Funktion. Die Variablen in dieser Funktion können nur innerhalb dieser Funktion verwendet werden. Beim Aufruf dieser Funktion kann dieser Wert eine Variable sein ist eine lokale Variable. Eine globale Variable ist eine Variable, die außerhalb einer Funktion definiert ist und deren Gültigkeitsbereich vom Definitionspunkt bis zum Ende der Datei reicht.

In PHP werden Funktionen als separate Programmteile behandelt, sodass lokale Variablen globale Variablen überschreiben. Auch wenn dieselbe Variable in der lokalen Variablen definiert ist und keine globale Variable hat, wird sie überschrieben.

Das Folgende ist ein Beispiel, um ihre Unterschiede zu veranschaulichen:

<?php
//局部变量测试
$s1= "out s1"; //全局变量
function say(){
 $s1 = "in s1"; //局部变量
 echo "say():$s1";
}
say(); //输出局部变量: in s1
echo "<br/>";
echo "function out:$s1"; ////输出全局变量:out s1
//static变量测试
function count1(){
 $num = 0;
 $num++;
 echo $num." ";
}
function count2(){
 static $num = 0;
 $num++;
 echo $num." ";
}
for($i=0; $i<10; $i++){
 count1(); //11 1 1 1 1 1 1 1 1 1
}
echo "<br/>";
for($i=0; $i<10; $i++){
 count2(); //1 2 3 4 5 6 7 8 9 10
}
echo "<br/>";
//全局变量在函数中运用,加global
$a="php";
$b = "java";
function show(){
 echo $a; // 无输出
 global $b;
 echo $b; //定义global,输出java
}
show();
?>

Erklärung des Unterschieds zwischen lokalen Variablen und globalen Variablen:

1. Lokale Variablen können auf interne Variablen zugreifen und Ergebnisse innerhalb der Funktion ausgeben. Auf Variablen innerhalb der Funktion kann daher nicht zugegriffen werden, wenn der Variablenwert außerhalb der Funktion aufgerufen werden muss Der Wert muss über die Rückgabeanweisung zur anschließenden Verarbeitung an den Hauptprogrammblock übergeben werden.

2. Da Funktionen in PHP als separate Programmcodefragmente betrachtet werden können, überschreiben lokale Variablen die Sichtbarkeit globaler Variablen, sodass globale Variablen nicht direkt in der Funktion aufgerufen werden können. Wenn Sie eine globale Variable in einer Funktion verwenden möchten, müssen Sie Schlüsselwörter verwenden, um die Zielvariable zu definieren. Das Schlüsselwort dieser globalen Variablen lautet „global“. Mit dem Schlüsselwort „global“ können Sie globale Daten in den lokalen Bereich importieren eine Funktion, um dem Funktionskörper mitzuteilen, dass es sich bei dieser Variablen um eine globale Variable handelt.

3. Ein weiteres wichtiges Merkmal des Variablenbereichs in PHP sind statische Variablen. Statische Variablen existieren nur im lokalen Funktionsbereich und werden nur einmal initialisiert. Wenn die Programmausführung diesen Bereich verlässt, verschwindet ihr Wert nicht und das Ergebnis der letzten Ausführung wird verwendet. In den obigen Beispielen werden statische Variablen verwendet bzw. keine statischen Variablen verwendet. Freunde können sie sorgfältig vergleichen.

【Empfohlene verwandte Tutorials】

1. "php.cn Dugu Jiujian (4) - PHP-Video-Tutorial

2 Eine vollständige Reihe von Video-Tutorials zur PHP-Programmierung vom Einstieg bis zur Beherrschung


3.

Praktische PHP-Video-Tutorials

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen lokalen Variablen und globalen Variablen in PHP-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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