Maison > Article > développement back-end > Comment utiliser des variables externes dans les méthodes en php
Méthode : 1. Utilisez le mot-clé global et utilisez l'instruction "global $external variable name;" dans la méthode pour importer des variables externes ; 2. Utilisez la variable "$GLOBALS" et utilisez directement "$GLOBALS['a Le ' ]" peut faire référence à des variables externes ; 3. Utilisez le transfert de valeur pour transmettre des variables externes en tant que paramètres.
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3
Aujourd'hui j'ai écrit une méthode utilisant du PHP natif pur Lorsque j'ai voulu appeler des variables globales externes, le résultat était : Soit. une erreur a été signalée ou il n'y a aucun résultat ?
Parlons des raisons et des solutions :
Portée variable
Dans les méthodes (fonctions) définies par l'utilisateur, une portée de fonction locale sera introduite. Toutes les variables utilisées dans une fonction seront limitées par défaut à la portée de la fonction locale. Par exemple :
<?php $a = 1; /* global scope */ function Test() { echo $a; /* reference to local scope variable */ } Test(); ?>
Ce script ne produira aucune sortie car l'instruction echo fait référence à une version locale de la variable $a et aucune valeur ne lui est attribuée dans cette portée.
Vous remarquerez peut-être que les variables globales de PHP sont un peu différentes du langage C. En langage C, les variables globales prennent automatiquement effet dans les fonctions à moins qu'elles ne soient remplacées par des variables locales. Cela peut poser des problèmes, quelqu'un peut accidentellement modifier une variable globale. Les variables globales en PHP doivent être déclarées globales lorsqu'elles sont utilisées dans des fonctions.
La première solution : mot-clé global --- déclarer les variables en dehors de la fonction globalement au sein de la fonction
<?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(); ?>
Regardez le résultat de sortie :
Analyse :
Le rôle du mot-clé global est : Importer variables globales, en utilisant la forme de variable globale 1, variable 2, ...
pour importer variable globale 1, variable 2...
dans la portée locale d'une fonction, vous pouvez utiliser des variables globales définies en dehors de la fonction à l'intérieur de la fonction. global 变量1, 变量2, ...
的形式把全局变量1, 变量2...
导入到一个函数的局部范围内,就可以在函数内部使用在函数外部定义的全局变量了。
使用 global 关键字需要注意一下几点:
global 关键字,只能在函数内部使用,不能在函数外部使用;
global 关键字只能用来引用函数外部的全局变量,在引用时不能直接赋值,赋值和声明语句需要分开写;
在函数内部销毁一个使用 global 关键字修饰的变量时,函数外部的变量不受影响。
第二种解决方法:利用$GLOBALS超全局变量
<?php $a = 1; $b = 2; $c = 3; function demo(){ echo '$a = '.$GLOBALS['a']; echo '<br>$b = '.$GLOBALS['b']; echo '<br>$c = '.$GLOBALS['c']; } demo(); ?>
输出结果为:
分析:
$GLOBALS
是一种预定义变量(又叫超全局变量),是包含所有变量的全局组合数组,变量的名称就是数组的键,可以使用$GLOBALS['变量名']
的形式来访问指定全局变量。只要是出现过的全局变量,就可以通过$GLOBALS
le mot-clé global ne peut être utilisé qu'à l'intérieur d'une fonction, pas à l'extérieur de la fonction
La deuxième solution : utilisez la super variable globale $GLOBALS
<?php header('content-type:text/html;charset=utf-8'); $mytext="PHP中文网"; function chao_echo($mytext){ echo $mytext; } chao_echo($mytext); ?>Le résultat de sortie est :
Analyse :
$GLOBALS
est une sorte de variable prédéfinie (également appelée super variable 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 mais $GLOBALS l'est. 🎜🎜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. 🎜🎜🎜🎜🎜La troisième solution : passer les variables externes de la fonction en paramètres 🎜🎜rrreee🎜🎜🎜🎜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!