php - 将数组提取到全局变量中

Gal*_*Gal 4 php arrays variables global extract

关于“提取”的手册显示您可以提取数组,如下所示:

extract(array('one'=>1,'two'=>2));
Run Code Online (Sandbox Code Playgroud)

变成$一,$二...

但 extract 函数不返回变量。有没有办法“全球化”这些变量?也许不使用 extract,而是使用 foreach 循环?

编辑:(关于我想要实现的目标的解释)我有一个包含数百条输出消息的数组,我希望将其作为变量有效地访问。我的意思是,每当我想输出一条消息时,请说:

$englishMessages = array('helloWorld'=>'Hello World');
$spanishMessages = array('helloWorld'=>'Hola Mundo');
'<span id="some">'. $helloWorld .'</span>';
Run Code Online (Sandbox Code Playgroud)

该消息将会出现。我这样做的原因是为了让用户可以更改他们查看网站所用的语言,例如:“”。$helloWorld .''; 会产生:

Hola Mundo!
Run Code Online (Sandbox Code Playgroud)

use*_*291 5

 $GLOBALS += $vars;
Run Code Online (Sandbox Code Playgroud)

例如

function foo() {
  $vars = array('aa' => 11, 'bb' => 22);
  $GLOBALS += $vars;
}

foo();
echo $aa; // prints 11
Run Code Online (Sandbox Code Playgroud)

也就是说,你能解释一下为什么你需要这个吗?使用全局变量被认为是糟糕的风格,也许有更好的方法