在PHP中从数组键创build新的variables

假设我有一个数组,像这样:

$foo = array('first' => '1st', 'second' => '2nd', 'third' => '3rd'); 

我怎样才能从数组中挑选键并使它们成为自己的variables? 例如,数组$foo将变成:

 $first = '1st'; $second = '2nd'; $third = '3rd'; 

我问这是因为我正在创build一个MVC框架来帮助我的OOP,并且我希望用户将一个variables传递给View加载函数,这将允许用户在模板中使用variables,而不必知道数组被称为。

例如:

 $array = array('title' => 'My blog!' [...]); $this->load->view('view.php', $array); 

view.php:

 echo $title; 

输出:

我的博客!

 <?php extract($array); ?> 

http://php.net/extract

你可以这样做:

 foreach($foo as $k => $v) { $$k = $v; } 

一个简单的方法是使用variablesvariables:

 foreach($foo as $key => $value) { $$key = $value; } echo $first; // '1st' 

请注意,这通常是不鼓励的。 最好是改变你的模板系统,让variables在模板范围内。 否则,你可能会遇到碰撞问题,必须testing它们的存在等。