如何将多个变量传递给函数?
例如,我想将变量从我的控制器传递给我的视图。
我希望通过调用render()传递var1
,var2
和var3
,我希望它进入我的$vars
数组。我怎么能这样做?
这是我的代码:
$var1 = "hi";
$var2 = "hello";
$var3 = "lol";
$this->render();
这是我的render()
函数:
$vars = array();
public function render($vars) {
require dirname(__DIR__).'/views/header.php';
require dirname(__DIR__).'/views/body.php';
require dirname(__DIR__).'/views/footer.php';
}
答案 0 :(得分:2)
检查这种方式,首先将var 1,2,3分配给vars数组,然后将vars数组赋值给渲染函数
$var1 = "hi";
$var2 = "hello";
$var3 = "lol";
$vars = array($var1, $var2, $var3);
$this->render($vars);
public function render($vars) {
print_r($vars);
// loop values
foreach($vars as $var){
echo $var;
}
// or access one by one
echo $vars[0];
echo $vars[1];
echo $vars[2];
}
答案 1 :(得分:1)
为视图文件创建实例,并使用控制器文件的预定义方法来设置变量。像这样:
return new ViewModel(array(
'order_by' => $order_by,
'order' => $order,
'page' => $page,
'paginator' => $paginator,
));
因为我使用的是Zend Framework-2。因此,将多个变量发送到视图文件是基本语法。您可以使用数组键来访问这些变量。