将所有变量转换为全局范围

时间:2010-11-21 12:32:02

标签: php

我知道我可以在函数中使用$ GLOBALS ['var']来引用全局范围中的变量。 反正我是否可以在函数内使用某种声明,所以我每次都可以使用$ var而不必使用$ GLOBAL ['var']?

乔尔

3 个答案:

答案 0 :(得分:1)

虽然不推荐,但如果您愿意,可以采取以下措施:

如果只想获取vars中的值(而不是设置值),只需使用extract

extract($GLOBALS);

这将提取并创建当前范围内的所有变量。

答案 1 :(得分:1)

如何使用静态类?
比如

class example
{
  public static $global;
  public static function set($arr)
  {
    foreach ($arr as $key=>$val)
    {
      self::$global[$key] = $val;
    }
  }
}

function example_function()
{
   var_dump( example::$global );
}

example::set( array('a'=>1, 'b'=>2) );
example_function();

答案 2 :(得分:1)

您可以使用global关键字,因此您可以在函数中使用$var类型而不是$GLOBALS['var']

function myFunc() {
  global $var;
  $var = 3;
}
$var = 1;
myFunc();
echo $var;

输出:3