Methode: 1. Verwenden Sie das Schlüsselwort „global“ und verwenden Sie die Anweisung „global $external variable name;“ in der Methode. 2. Verwenden Sie die Variable „$GLOBALS“ und verwenden Sie direkt „$GLOBALS['a“. ]“-Anweisung kann auf externe Variablen verweisen; 3. Verwenden Sie die Werteübertragung, um externe Variablen als Parameter zu übergeben.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Heute habe ich eine Methode mit reinem nativen PHP geschrieben. Als ich externe globale Variablen aufrufen wollte, war das Ergebnis: Entweder Es wurde ein Fehler gemeldet oder erfolgt keine Ausgabe?
Lassen Sie uns über die Gründe und Lösungen sprechen:
Variablenbereich
In benutzerdefinierten Methoden (Funktionen) wird ein lokaler Funktionsbereich eingeführt. Alle innerhalb einer Funktion verwendeten Variablen sind standardmäßig auf den lokalen Funktionsbereich beschränkt. Beispiel:
<?php $a = 1; /* global scope */ function Test() { echo $a; /* reference to local scope variable */ } Test(); ?>
Dieses Skript erzeugt keine Ausgabe, da die Echo-Anweisung auf eine lokale Version der Variablen $a verweist und ihr in diesem Bereich kein Wert zugewiesen ist.
Möglicherweise stellen Sie fest, dass sich die globalen Variablen von PHP ein wenig von der C-Sprache unterscheiden. In der C-Sprache werden globale Variablen automatisch in Funktionen wirksam, sofern sie nicht durch lokale Variablen überschrieben werden. Dies kann zu Problemen führen, da jemand versehentlich eine globale Variable ändern könnte. Globale Variablen in PHP müssen global deklariert werden, wenn sie in Funktionen verwendet werden.
Die erste Lösung: globales Schlüsselwort --- Variablen außerhalb der Funktion global innerhalb der Funktion deklarieren
<?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(); ?>
Sehen Sie sich das Ausgabeergebnis an:
Analyse:
Die Rolle des globalen Schlüsselworts ist: Importieren globale Variablen, die die Form globale Variable 1, Variable 2, ...
verwenden, um globale Variable 1, Variable 2...
in den lokalen Bereich einer Funktion zu importieren, Sie können außerhalb der Funktion definierte globale Variablen innerhalb der Funktion verwenden. 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
Das globale Schlüsselwort kann nur innerhalb einer Funktion verwendet werden, nicht außerhalb der Funktion.
Die zweite Lösung: Verwenden Sie die superglobale Variable $GLOBALS
<?php header('content-type:text/html;charset=utf-8'); $mytext="PHP中文网"; function chao_echo($mytext){ echo $mytext; } chao_echo($mytext); ?>
Analyse:
$GLOBALS
ist eine Art vordefinierte Variable (auch superglobale Variable genannt) ist ein globales kombiniertes Array, das alle Variablen enthält. Der Name der Variablen ist der Schlüssel des Arrays. Sie können die Form $GLOBALS['Variablenname']
verwenden, um auf die angegebene globale Variable zuzugreifen. Solange es sich um eine globale Variable handelt, kann sie über das Array $GLOBALS
abgerufen werden.
Der Unterschied zwischen global und $GLOBALS
🎜🎜🎜global kann nur innerhalb einer Funktion verwendet werden, nicht außerhalb der Funktion; während $GLOBALS überall im Programm (innerhalb und außerhalb der Funktion) verwendet werden kann. 🎜🎜🎜🎜Wenn eine mit dem globalen Schlüsselwort geänderte Variable innerhalb einer Funktion zerstört wird, sind die Variablen außerhalb der Funktion nicht betroffen, $GLOBALS jedoch. 🎜🎜Grund: 🎜🎜Bei Verwendung des globalen Schlüsselworts zum Ändern der Variablen $var handelt es sich um einen Verweis auf die gleichnamige Variable außerhalb der Funktion. Das Innere und das Äußere sind zwei Variablen, die sich nicht gegenseitig beeinflussen $GLOBALS['var'] bezieht sich auf die Funktion. Die externe Variable selbst ist eine Variable. 🎜🎜🎜🎜🎜Die dritte Lösung: Übergeben Sie die externen Variablen der Funktion in Parameter 🎜🎜rrreee🎜🎜🎜🎜Empfohlenes Lernen: „🎜PHP-Video-Tutorial🎜“🎜Das obige ist der detaillierte Inhalt vonSo verwenden Sie externe Variablen in Methoden in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!