PHP函数内的变量范围

时间:2014-01-25 18:46:14

标签: php function variables scope

$var = "Value 1";

function setVar() {
    global $var;
    $var = "Value 2";
} 

function test($someVar) {
    echo $someVar;
} 

test($var);

我希望test(setVar())的输出为“Value 2”,但不要在setVar()中返回$ var。这可能吗?

1 个答案:

答案 0 :(得分:0)

请勿使用global从不使用global。改为使用引用:

$var = "Value 1";

function setVar(&$x)
{
    $x = "Value 2";
}

function test($y)
{
    echo $y;
}

setVar($var);

test($var);