Dans l'article précédent "Comment définir dynamiquement des noms de variables en PHP", nous avons présenté les variables variables en PHP et appris à définir dynamiquement des noms de variables. Cette fois, nous allons examiner la méthode d'appel de variables globales à l'intérieur d'une fonction. Vous pouvez vous y référer si nécessaire.
Avant de présenter la méthode d'appel de variables globales à l'intérieur d'une fonction, découvrons la portée des variables et les variables globales.
La portée de la variable, en termes simples, est la plage dans laquelle une variable peut être utilisée. Elle doit être utilisée dans sa plage effective. Si elle dépasse la plage effective, la variable perdra son sens.
Selon la portée, les variables peuvent être divisées en variables locales et variables globales.
Les variables locales font référence aux variables déclarées à l'intérieur de la fonction et ne peuvent être utilisées que dans la fonction ; tandis que les variables globales font référence aux variables déclarées en dehors de la fonction. Leur portée est n'importe où dans le code source actuel, mais elles ne sont pas disponibles dans la fonction. .
<?php $a = 1; $b = 2; $c = 3; function demo(){ echo '$a = '.$a; echo '<br>$b = '.$b; echo '<br>$c = '.$c; } demo(); ?>
Analyse : Si vous souhaitez afficher les variables globales $a, $b, $c dans la fonction demo(), vous constaterez qu'elles ne sont pas affichées et une erreur est signalée :
Mais parfois nous devons utiliser des variables globales dans la fonction, que devons-nous faire ?
PHP propose deux solutions : le mot-clé global
et la super variable globale $GLOBALS
. global
关键字和$GLOBALS
超全局变量。
我们看看下面的一个示例:
<?php $a = 1; $b = 2; $c = 3; function demo(){ global $a,$b,$c; echo '$a = '.$a; echo '<br>$b = '.$b; echo '<br>$c = '.$c; } demo(); ?>
看看输出结果为:
$a = 1 $b = 2 $c = 3
分析:
global关键字的作用是:导入全局变量,利用global 变量1, 变量2, ...
的形式把全局变量1, 变量2...
导入到一个函数的局部范围内,就可以在函数内部使用在函数外部定义的全局变量了。
再来看一个例子:
<?php $a = 1; $b = 2; $c = 3; function demo(){ echo '$a = '.$GLOBALS['a']; echo '<br>$b = '.$GLOBALS['b']; echo '<br>$c = '.$GLOBALS['c']; } demo(); ?>
输出结果为:
$a = 1 $b = 2 $c = 3
分析:
$GLOBALS
是一种预定义变量(又叫超全局变量),是包含所有变量的全局组合数组,变量的名称就是数组的键,可以使用$GLOBALS['变量名']
的形式来访问指定全局变量。只要是出现过的全局变量,就可以通过$GLOBALS
rrreeeRegardez le résultat de sortie :
rrreeeLa fonction du mot-clé global est : importer des variables globales, utiliser variable globale 1, variable 2 , ..
importez variable globale 1, variable 2...
dans la portée locale d'une fonction, et les variables globales définies en dehors de la fonction peuvent être utilisées à l'intérieur de la fonction.
rrreee
Le résultat de sortie est :rrreee
Analyse :$GLOBALS
est une sorte de variable prédéfinie (également appelée variable super globale), qui contient tous variables Tableau combiné global, le nom de la variable est la clé du tableau, vous pouvez utiliser la forme $GLOBALS['variable name']
pour accéder à la variable globale spécifiée. Tant qu'il s'agit d'une variable globale qui est apparue, elle peut être obtenue via le tableau $GLOBALS
.
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!