Maison  >  Article  >  développement back-end  >  Que dois-je faire si les variables globales PHP ne peuvent pas être utilisées dans les fonctions ?

Que dois-je faire si les variables globales PHP ne peuvent pas être utilisées dans les fonctions ?

青灯夜游
青灯夜游original
2021-10-08 18:36:423524parcourir

Solution : 1. Utilisez le mot-clé global pour importer des variables globales dans la fonction, la syntaxe est "variable globale globale 1, variable globale 2, ..." 2. Utilisez la super variable globale "$GLOBALS" pour accéder au variable globale spécifiée, la syntaxe "$GLOBALS['nom de variable globale']".

Que dois-je faire si les variables globales PHP ne peuvent pas être utilisées dans les fonctions ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3

Généralement, les variables globales ne peuvent pas être utilisées dans les fonctions, mais parfois nous devons utiliser des variables globales dans les fonctions. ?

PHP propose deux solutions : le mot-clé global et la super variable globale $GLOBALS.

Méthode 1. Utilisez le mot-clé global

<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
	global $a,$b,$c;
    echo &#39;$a = &#39;.$a;
    echo &#39;<br>$b = &#39;.$b;
    echo &#39;<br>$c = &#39;.$c;
}
demo();
?>

Regardez le résultat de sortie :

$a = 1
$b = 2
$c = 3

Analyse : La fonction du mot-clé

global est : importer des variables globales, utiliser variable globale 1, variable 2 , ... importe 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. global 变量1, 变量2, ...的形式把全局变量1, 变量2...导入到一个函数的局部范围内,就可以在函数内部使用在函数外部定义的全局变量了。

使用 global 关键字需要注意一下几点:

  • global 关键字,只能在函数内部使用,不能在函数外部使用;

  • global 关键字只能用来引用函数外部的全局变量,在引用时不能直接赋值,赋值和声明语句需要分开写;

  • 在函数内部销毁一个使用 global 关键字修饰的变量时,函数外部的变量不受影响。

方法2:利用$GLOBALS超全局变量

<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
    echo &#39;$a = &#39;.$GLOBALS[&#39;a&#39;];
    echo &#39;<br>$b = &#39;.$GLOBALS[&#39;b&#39;];
    echo &#39;<br>$c = &#39;.$GLOBALS[&#39;c&#39;];
}
demo();
?>

输出结果为:

$a = 1
$b = 2
$c = 3

分析:

$GLOBALS是一种预定义变量(又叫超全局变量),是包含所有变量的全局组合数组,变量的名称就是数组的键,可以使用$GLOBALS['变量名']的形式来访问指定全局变量。只要是出现过的全局变量,就可以通过$GLOBALS

Vous devez faire attention aux points suivants lorsque vous utilisez le mot-clé global :

le mot-clé global ne peut être utilisé qu'à l'intérieur d'une fonction, pas à l'extérieur de la fonction
  • le mot-clé global ne peut être utilisé que pour référencer des variables globales ; en dehors de la fonction, ne peut pas être directement affecté lorsque les instructions de référencement, d'affectation et de déclaration doivent être écrites séparément
  • Lorsqu'une variable modifiée avec le mot-clé global est détruite à l'intérieur d'une fonction, les variables en dehors de la fonction ne sont pas affectées.

    Méthode 2 : Utiliser la variable super globale $GLOBALS

  • rrreee
Le résultat de sortie est :

rrreeeAnalyse :

$GLOBALS est une variable prédéfinie (également appelée variable super globale) , est un tableau combiné global contenant toutes les variables. 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. 🎜🎜🎜La différence entre global et $GLOBALS🎜🎜🎜🎜🎜global ne peut être utilisée qu'à l'intérieur d'une fonction, pas à l'extérieur de la fonction ; tandis que $GLOBALS peut être utilisé n'importe où dans le programme (à l'intérieur et à l'extérieur de la fonction). 🎜🎜🎜🎜Lorsqu'une variable modifiée avec le mot-clé global est détruite à l'intérieur d'une fonction, les variables en dehors de la fonction ne sont pas affectées tandis que $GLOBALS est affecté. 🎜🎜Raison : 🎜🎜Lors de l'utilisation du mot-clé global pour modifier la variable $var, il s'agit d'une référence à la variable du même nom en dehors de la fonction. L'intérieur et l'extérieur sont deux variables qui ne s'affectent pas 🎜🎜Et ; $GLOBALS['var'] fait référence à la fonction La variable externe elle-même est une variable. 🎜🎜🎜🎜Apprentissage recommandé : "🎜Tutoriel vidéo PHP🎜"🎜

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!

Déclaration:
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