如果我在函数之外定义一个全局变量,为什么函数的代码不能访问它?全局变量的定义是可以通过代码访问它。
您需要将变量传递给函数。您可以将其视为安全度量。如果默认情况下任何函数都会看到所有全局变量,那么在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'
;