在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); ?>
你可以这样做:
foreach($foo as $k => $v) { $$k = $v; }
一个简单的方法是使用variablesvariables:
foreach($foo as $key => $value) { $$key = $value; } echo $first; // '1st'
请注意,这通常是不鼓励的。 最好是改变你的模板系统,让variables在模板范围内。 否则,你可能会遇到碰撞问题,必须testing它们的存在等。