Introduction à la différence entre global et $GLOBALS en php

黄舟
Libérer: 2023-03-16 11:14:01
original
1152 Les gens l'ont consulté

1.global

Le rôle de Global est de définir des variables globales, mais cette variable globale ne s'applique pas à l'ensemble du site Web, mais à la page actuelle, y compris tous les fichiers inclus ou requis.

Mais les variables globales définies dans le corps de la fonction peuvent être utilisées dans le corps de la fonction, tandis que les variables globales définies en dehors du corps de la fonction ne peuvent pas être utilisées dans le corps de la fonction. Voir l'exemple ci-dessous pour plus de détails.

(1) Définissez des variables globales dans le corps de la fonction, qui peuvent être utilisées dans le corps de la fonction.


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

(2) Définissez des variables globales en dehors du corps de la fonction et ne pouvez pas les utiliser à l'intérieur du corps de la fonction.


<?PHP 
$a=123; 
Global $a; //在函数体外把$a定义为global变量。 function aa() 
{  
  echo $a; 
} 
aa();//会报错,不能输出变量a。?>
Copier après la connexion

2.$GLOBALS

Dans le tableau $GLOBALS, chaque variable est un élément, le nom de la clé correspond au nom de la variable, et la valeur correspond au contenu de la variable. $GLOBALS existe dans la portée globale car $GLOBALS est une variable superglobale. Faites attention à la méthode d'écriture de $GLOBALS. Par exemple, la variable $a1 s'écrit $GLOBALS['a1'].

Exemple : utilisez d'abord la définition globale


<?PHP 
$a1 = 1; 
$a2 = 2; 
function Sum() 
{ 
  global a1, a2;a2 = a1 + a2; //定义变a1和a2;}
Sum(); 
echo a2; //输出结果为3?>
Copier après la connexion

Utilisez $GLOBALS pour définir des variables globales


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

par exemple : global


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

par exemple : $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
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal