在脚本中的任何位置,都可以定义全局变量,如下所示:
使用超全局$GLOBALS
大堆该数组由PHP预定义,并且is available in all scopes.
它是一个关联数组,包含作为键值对的所有全局变量。ie:键将是变量名,值将是变量的值。
$GLOBALS[\'variablename\'] = \'variablevalue\';
可通过以下方式访问:
$variable = $GLOBALS[\'variablename\'];
或
global $variable;
要了解更多参考:
PHP Variable ScopeEDIT: 在回答时,我假设用户知道方法2,但在重读时,他似乎不知道,所以我在下面提到它。
方法2:
您还可以使用“global”关键字定义全局变量。eg代码:
//文件1。php
class testScope()
{
function setMsg($msg = \'Hi\')
{
//the variable need not be already defined in the global scope.
global $say;
$say = \'Hi\';
}
function say()
{
global $say;
echo $say;
}
}
//file2.php
function getFile1()
{
include(\'file1.php\');
}
getFile1();
$sayer = new testScope();
$sayer->setMsg(); // this will create a new global variable.
$sayer->say();
global $say;
echo $say;
$say = "I changed it in global scope";
$sayer->say(); // \'I changed it in global scope\'
$sayer->set(\'i changed it inside class\');
echo $say; // \' i changed it inside class\'
Note: The code is untested