数组值作为变量名

Array Value as Variable Name

我最近发现了另一个 Whosebug 问题,内容如下:

$segments = array(
"key1"    =>"111",
"key2"    =>"222",
"key3"    =>"333",
"key4"    =>"444"
);

我想要这些:

$key1 has the value of  "111";

$key2 has the value of  "222";

$key3 has the value of  "333";

$key4 has the value of  "444";

答案是使用 extract($segments)

我想实现一些不一样的东西,我有以下数组

 $test = array('hello','world');

理想情况下我想遍历它们并使用数组值作为变量名,例如:

$test2 = array('hello','world');
foreach($test as $v)
{
   $$v = $v;
}

因此在循环之后我可以回显说 $hello 这将导致输出 hello.

谁能告诉我如何实现这一目标。如果有一个没有循环等的方法,那就太好了。我意识到我的示例可以以不同的方式完成,因此这个问题是多余的,但出于好奇和我的知识,我提出了这个问题。

数组更好,你很少需要 extract 或可变变量,但这是一种方式(仅供参考):

$test2 = array('hello','world');
extract(array_combine($test2, $test2));