【发布时间】:2011-08-20 20:41:41
【问题描述】:
这是我遇到的问题的解决方案,但无法在任何地方找到答案。它涉及全局变量范围和多个功能。
基本上,我希望一个函数声明变量,然后让第二个嵌套函数使用这些变量。当脚本声明变量并在声明 global $var1, $var2; 后调用使用这些变量的函数时,这可以正常工作。
但是,我在嵌套函数看到父函数声明的变量时遇到问题,使用与调用函数的脚本相同的代码逻辑。
解决办法是这样写:
function function_1(){
global $var1, $var2;
$var1=0;
$var2=0;
function function_2(){
global $var1, $var2;
}
function_2();//call to nested function.
}
在这种情况下,所有变量都能正常交互。
如果在 function_1 中声明变量后声明“全局”,则只需清除变量的值(您声明没有值的新变量?)。
希望这可以帮助某人:)
格雷格
【问题讨论】:
-
问题是内部函数最终在全局范围内。在 PHP 中,您可以使用匿名(内部)函数或类来实现您想要的。
标签: php function global-variables