转发一个php数组到twig模板(Symfony)


Forwarding a php array to twig template (Symfony)

我正试图将(渲染)我的数组从php到小枝模板,然后在模板中打印所有内容。我的问题是访问数组在小枝模板。

Php数组和渲染函数

    while ( $row = mysqli_fetch_array ( $queryResult ) )
    {
        $tplArray = array (
                array (
                        'id' => $row ['id'] 
                ),
                array (
                        'name' => $row ['name'] 
                ) 
        );
        $tplArray = array (
                'id' => $row ['id'],
                'name' => $row ['name'] 
        );
    }
    return $this->render ( 'work/work.html.twig', array (
            'data' => $tplArray 
    ) );

尝试访问小枝模板中的数组:

    {% for entry in data %}
        {{ entry.id }}
        {{ entry.name }}
    {% endfor %}

这显然不起作用。我怎么能得到数据(id,名称)从我的$tplArray和打印出来的模板?

您的while循环应该是这样的:

$tplArray = array(); 
while ( $row = mysqli_fetch_array ( $queryResult ) )
{
    $tplArray[] = array (
         'id' => $row ['id'],
         'name' => $row ['name'] 
    );
}

在这段代码中,首先将一个空数组(作为预防措施)赋值给$tplArray。然后,使用[]操作符,在while循环的每一步将一个新元素-一个具有'id'和'name'属性的关联数组-推入这个结果数组。

目前,您可以在while的每一步重新分配一个新的数组作为$tplArray值。