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

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

黄舟
黄舟Original
2017-09-25 09:15:231106Durchsuche

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,说明函数体内可以使用函数体外的变量;?>

(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。?>

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?>

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?>

zB: global


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

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

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!

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