全局变量的范围

问题描述 投票:-2回答:1

如果我在函数之外定义一个全局变量,为什么函数的代码不能访问它?全局变量的定义是可以通过代码访问它。

php global-variables
1个回答
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. 使用以下语法调用您想要的变量:qazxsw poi
© www.soinside.com 2019 - 2024. All rights reserved.