将多个变量传递给函数数组

时间:2016-11-18 04:45:45

标签: php arrays

如何将多个变量传递给函数?

例如,我想将变量从我的控制器传递给我的视图。

我希望通过调用render()传递var1var2var3,我希望它进入我的$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';
    }

2 个答案:

答案 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。因此,将多个变量发送到视图文件是基本语法。您可以使用数组来访问这些变量。