【发布时间】:2014-01-25 18:46:13
【问题描述】:
$var = "Value 1";
function setVar() {
global $var;
$var = "Value 2";
}
function test($someVar) {
echo $someVar;
}
test($var);
我希望 test(setVar()) 的输出为“Value 2”,但在 setVar() 中不返回 $var。这可能吗?
【问题讨论】:
-
setVar不返回任何内容,因此您没有将任何内容传递给test函数。如果你想在test函数中打印$var,为什么不打印它而不是$someVar? -
如果
setVar没有返回任何东西,那么与test有什么关系? -
好的,那么我将如何编写它以便 setVar 确实返回 $var?问题是,在我的“正确”代码中(放在这里太复杂了) setVar() 返回别的东西,我只需要在我的 setVar 函数之外可用的 $var 的值,这样我就可以将它作为参数传递给测试()。抱歉这么愚蠢,但我整天都被困在这上面:(
-
你需要重组你想要做的任何事情。函数是简单的输入输出设备,并且有一些模式可以使用它。很难说你真正想解决什么问题以及如何最好地解决它,但你在这里尝试做的不是它。
-
好的,我稍微更改了代码,以便 test() 现在使用参数 $var 而不是 setVar 执行,因为我意识到这很愚蠢,因为它没有返回任何内容(感谢您指出这一点)。 如何在 setVar 函数之外将 $var 设为 = "Value 2"? 感谢各位的帮助,抱歉我很愚蠢?
标签: php function variables scope