Heim > Backend-Entwicklung > PHP-Tutorial > Einführung in den Unterschied zwischen global und $GLOBALS in PHP

Einführung in den Unterschied zwischen global und $GLOBALS in PHP

黄舟
Freigeben: 2023-03-16 11:14:01
Original
1167 Leute haben es durchsucht

1.global

Die Rolle von Global besteht darin, globale Variablen zu definieren. Diese globale Variable gilt jedoch nicht für die gesamte Website, sondern für die aktuelle Seite, einschließlich aller Dateien in include oder require.

Globale Variablen, die innerhalb des Funktionskörpers definiert sind, können jedoch innerhalb des Funktionskörpers verwendet werden, während globale Variablen, die außerhalb des Funktionskörpers definiert sind, nicht innerhalb des Funktionskörpers verwendet werden können. Einzelheiten finden Sie im folgenden Beispiel.

(1) Definieren Sie globale Variablen im Funktionskörper, die innerhalb des Funktionskörpers verwendet werden können.


<?PHP 
$a=123; 
function aa() 
{ 
Global $a; //把$a定义为global变量。 echo $a; //调用函数体外的变量} 
aa(); //输出结果为123,说明函数体内可以使用函数体外的变量;?>
Nach dem Login kopieren

(2) Definieren Sie globale Variablen außerhalb des Funktionskörpers und können Sie sie nicht innerhalb des Funktionskörpers verwenden.


<?PHP 
$a=123; 
Global $a; //在函数体外把$a定义为global变量。 function aa() 
{  
  echo $a; 
} 
aa();//会报错,不能输出变量a。?>
Nach dem Login kopieren

2.$GLOBALS

Im $GLOBALS-Array ist jede Variable ein Element, der Schlüsselname entspricht dem Variablennamen und der Wert entspricht dem Variableninhalt. $GLOBALS existiert im globalen Bereich, da $GLOBALS eine superglobale Variable ist. Achten Sie auf die Schreibweise von $GLOBALS. Beispielsweise wird die Variable $a1 als $GLOBALS['a1'] geschrieben.

Beispiel: Zuerst globale Definition verwenden


<?PHP 
$a1 = 1; 
$a2 = 2; 
function Sum() 
{ 
  global a1, a2;a2 = a1 + a2; //定义变a1和a2;}
Sum(); 
echo a2; //输出结果为3?>
Nach dem Login kopieren

Verwenden Sie $GLOBALS, um globale Variablen zu definieren


<?PHP 
$a1 = 1; 
$a2 = 2;function Sum() 
{ 
  $GLOBALS[&#39;a1&#39;] = $GLOBALS[&#39;a1&#39;] + $GLOBALS[&#39;a2&#39;]; //定义变量时每个都要定义}
Sum(); 
echo a2; //输出结果为2?>
Nach dem Login kopieren

zB: global


function test() 
{ 
    global $a;//定义全局变量a 
    unset($a); //删除变量a
    //print $a;//会报错,因为unset已经把$a删除了。 } 
$a = 2; //定义一个变量atest(); //调用test()方法print $a; //输出a,输出的其实是$a = 2,所以结果为2.
Nach dem Login kopieren

zB: $GLOBALS


function test_global() 
{ 
    global $var1, $var2; 
    $var2 =& $var1; 
} 
function test_globals() 
{ 
    $GLOBALS[&#39;var3&#39;] =& $GLOBALS[&#39;var1&#39;]; 
} 
$var1 = 5; 
$var2 = $var3 = 0; 

test_global(); 
print $var2; //输出结果为0test_globals(); 
print $var3; //输结果为5
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonEinführung in den Unterschied zwischen global und $GLOBALS in PHP. 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