如果我在函数外部定义了全局变量,为什么函数的代码无法访问它?全局变量的定义是可以通过代码进行访问。
答案 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();
还有一种直接在函数中调用变量的方法:
$myVar = 'asdf'
; $GLOBALS['myVar']