从数组循环获取Twig的值

时间:2016-12-26 08:36:38

标签: php arrays for-loop twig

我有一个像这样的数组

'contents' => array(
              'row' => array(
                    'col-xs-6' => 'grid 1',
                    'col-xs-6' => 'grid 2'
              ),
              'row' => array(
                    'col-xs-6' => 'grid 3',
                    'col-xs-6' => 'grid 4'
              )
        )

现在我想从数组中获取密钥但是失败了,我尝试使用此代码

{% for key, values in contents %}
     <div class="{{ key }}">
          {% for klass, contain in values %}
                 <div class="{{ klass }}">
                      {{ contain }}
                 </div>
          {% endfor %}
     </div>
{% endfor %}

输出:

<div class="row"><div class="col-xs-6">grid 4</div></div>

我不知道为什么它只出现一次,但是如果我尝试更改具有不同值的键名并且它有效。 请帮我。 谢谢。

2 个答案:

答案 0 :(得分:4)

PHP array应该有唯一的密钥。

在你的情况下,

  1. 第一个row被第二个row
  2. 取代
  3. 第二行中的第一个col-xs-6将被第二个col-xs-6
  4. 替换

    因此,您的结果数组将是:

    'contents' => array(
          'row' => array(
                'col-xs-6' => 'grid 4'
          )
    )
    

答案 1 :(得分:1)

根据您的意见:

所以,假设您传入一个名为gridCount的变量,然后在Twig中,您可以这样编码:

{% for i in 0..gridCount %}
    <div class="row"><div class="col-xs-6">grid {{ i }}</div></div>
{% endfor %}

如果您还打算更改课程值,请与我们联系。在上面,我认为你不需要。但如果它们也是动态的,那么你需要告诉我它们是如何变化的。