0

我想要一个函数将变量导出到它被调用的范围而不使用extract(),例如

function get_vars(){
  $return['a'] = 1;
  $return['b'] = 2
  return $return;
}

然后而不是使用:

exctract(get_vars());

我会用

get_vars();

有没有可用的?

4

2 回答 2

0

您可以尝试使用global关键字

function get_vars() {
  global $a, $b;
  $a = 1;
  $b =2;
}

但对我来说,这是一种非常奇怪的方法。我更喜欢使用 OOP。

于 2012-08-19T13:59:49.213 回答
0

在 extract 函数的 php 手册中看到了可能的解决方案。(http://www.php.net/manual/en/function.extract.php#62727)

function free_args (&$V) {
    foreach ($V as $k => &$v) {
        $$k =& $v;
    }
    unset ($k);  unset ($v);  unset ($V);

    // be careful that if you need to extract $k, $v or $V variables you should find other names for them in the lines above (ie. $__k, $__v and $__V)
}
于 2012-08-19T13:42:26.087 回答