【问题标题】:How to properly loop three dimensional array in twig?如何在树枝中正确循环三维数组?
【发布时间】:2013-12-15 06:57:49
【问题描述】:

我有一个这样的数组设置;而且我似乎无法用树枝遍历这些值:

array (size=1)
  'hash' => 
    array (size=7)
      0 => 
        array (size=4)
          'key1' => "val"
          'key2' => "val"
          'key3' => "val"
          'key4' => "val"
      1 => 
        array (size=4)
          'key1' => "val"
          'key2' => "val"
          'key3' => "val"
          'key4' => "val"
      ...

我正在使用的模板代码(在第 n 次迭代中):

  {% for i in hash %}
    {% for j in i %}
      <td>{{ j.key1 }}</td>
      <td>{{ j.key2 }}</td>
      <td>{{ j.key3 }}</td>
      <td>{{ j.key4 }}</td>
    {% endfor %}
  {% endfor %}

上面的树枝模板代码不断收到Array to string conversion 错误。

【问题讨论】:

    标签: php loops multidimensional-array twig


    【解决方案1】:

    在 vijay4vijju 和他对dump 的参考的帮助下,我能够遍历数组。

    只需要一个循环:

    {% for key,val in hash %}
      <tr>
        <td>{{ val.key1 }}</td>
        <td>{{ val.key2 }}</td>
        <td>{{ val.key3 }}</td>
        <td>{{ val.key4 }}</td>
      </tr>
    {% endfor %}
    

    我会选择他的答案,但从技术上讲它不是答案,dump 只是对dump 手册的参考。

    为了在我使用的树枝中启用调试:

    $twig = new Twig_Environment($loader, array(
        'debug' => true,
    ));
    $twig->addExtension(new Twig_Extension_Debug());
    

    为了解决这个问题,我使用了:

    {% for key,val in hash %}
      <pre>{{ dump(val) }}</pre>
      <tr>
        <td>{{ val.key1 }}</td>
        <td>{{ val.key2 }}</td>
        <td>{{ val.key3 }}</td>
        <td>{{ val.key4 }}</td>
      </tr>
    {% endfor %}
    

    【讨论】:

      【解决方案2】:

      试试这个。我不确定

        {% for key,value in hash %}
                {% for key1,value1 in value %}
                     Value1 : {{ dump(value1) }}
                      {% for key2,value2 in value1 %}
                           Value1 : {{ value2 }} 
                      {% endfor %} 
               {% endfor %}
          {% endfor %}
      

      dump 将打印数组中的数据:

      参考dump

      【讨论】:

      • 编辑了我的答案检查一次。尝试转储?
      【解决方案3】:

      我用它在树枝中打印多维数组,希望它能工作。

      {% for item in hash %}
          {% for firstLevelItem in item %}
              <ul>
                  <li>{{ firstLevelItem.comments }}</li>
              </ul>
          {% endfor %}
      {% endfor %}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-05
        • 1970-01-01
        • 2019-05-11
        • 2016-09-02
        • 1970-01-01
        • 2015-03-08
        相关资源
        最近更新 更多