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

将php数组转发到twig模板(Symfony),php,arrays,symfony,templates,twig,Php,Arrays,Symfony,Templates,Twig,我试图将我的数组从php转发(呈现)到twig模板,然后将模板中的所有内容打印出来。 我的问题是访问细枝模板中的数组 Php数组和呈现函数: while ( $row = mysqli_fetch_array ( $queryResult ) ) { $tplArray = array ( array ( 'id' => $row ['id']

我试图将我的数组从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 
    ) );
    {% for entry in data %}
        {{ entry.id }}
        {{ entry.name }}
    {% endfor %}
尝试访问细枝模板中的数组:

    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 %}
这显然行不通。
如何从我的$tplArray中获取数据(id、名称)并在模板中打印出来?

您的
循环应如下所示:

$tplArray = array(); 
while ( $row = mysqli_fetch_array ( $queryResult ) )
{
    $tplArray[] = array (
         'id' => $row ['id'],
         'name' => $row ['name'] 
    );
}
使用此代码,首先为
$tplArray
分配一个空数组(作为预防措施)。然后,使用
[]
操作符,在
的每个步骤中推送一个新元素,即具有“id”和“name”属性的关联数组,同时
循环到这个结果数组中


当前,在
的每个步骤中,您都会将一个新数组重新指定为
$tplArray
值,而不是
值。

请考虑将第一个tplArray重命名为类似于$rows的名称,然后将$tplArray=['data'=>$rows];对两个完全不同的数组使用相同的名称会使事情变得更加混乱。此外,$rows=mysqli\u fetch\u all($queryResult)将完全消除第一个循环。