在PHP中从函数内部访问全局变量

时间:2010-11-27 12:28:21

标签: php global-variables

我想使用PHP声明一个全局变量,并在函数内部使用。

我试过了:

$var = "something";
function foo()
{
    echo $var;
}

但是我收到一条错误,指出$var未定义。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:7)

$var = "something";
function foo()
{
    global $var;
    echo $var;
}

当您需要使用在函数范围之外声明的变量时,请使用术语“全局”。

答案 1 :(得分:5)

PHP变量具有函数范围。即,函数内部的变量不能从外部访问,并且全局变量不能(默认情况下)从内部函数访问。虽然在函数中使用global关键字来导入变量是 a 解决方案,但是你不应该这样做。功能应该是独立的;如果你需要一个函数内的值pass it as a parameter,如果函数需要修改全局值,那么return来自函数。

示例:

function foo($arg)
{
    echo $arg;
}
$var = "something";
foo($var);

请阅读:http://php.net/manual/en/language.variables.scope.php