全局变量的范围

时间:2019-03-04 15:00:50

标签: php global-variables

如果我在函数外部定义了全局变量,为什么函数的代码无法访问它?全局变量的定义是可以通过代码进行访问。

1 个答案:

答案 0 :(得分:0)

您需要将变量传递到函数中。 您可以将其视为安全度量。如果有任何函数默认情况下会看到所有全局变量,那么覆盖其余50000行代码中的某些内容确实很容易。

$myVar = 'asdf';

function doSomething($var){
    echo $var;
}

doSomething($myVar);

或者,如果您真的不想通过它,可以这样做:

$myVar = 'asdf';

function doSomething() {

    // tell the function that it should use a global var.
    global $myVar;

    echo $myVar;
}

doSomething();

还有一种直接在函数中调用变量的方法:

  1. 定义变量:$myVar = 'asdf';
  2. 使用以下语法在任意位置调用变量:$GLOBALS['myVar']