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

Forwarding a php array to twig template (Symfony)

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

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 
    ) );

正在尝试访问 twig 模板中的数组:

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

这显然行不通。 如何从我的 $tplArray 中获取数据(id、名称)并在模板中打印出来?

您的 while 循环应如下所示:

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

使用此代码,您首先将一个空数组(作为预防措施)分配给 $tplArray。然后,使用 [] 运算符,在 while 循环的每一步将一个新元素 - 一个具有 'id' 和 'name' 属性的关联数组推送到此结果数组中。

目前,您在 while 的每个步骤中将 new 数组重新分配为 $tplArray 值。