如何在树枝中正确循环三维数组?

6 php loops multidimensional-array twig

我有一个像这样的阵列设置; 我似乎无法用树枝循环遍历这些值:

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"
      ...
Run Code Online (Sandbox Code Playgroud)

我正在使用的模板代码(在第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 %}
Run Code Online (Sandbox Code Playgroud)

我一直在Array to string conversion使用上面的twig模板代码出错.

小智 9

在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 %}
Run Code Online (Sandbox Code Playgroud)

我会选择他的答案但技术上不是答案,转储只是对dump手册的参考.

为了在twig中启用调试,我使用了:

$twig = new Twig_Environment($loader, array(
    'debug' => true,
));
$twig->addExtension(new Twig_Extension_Debug());
Run Code Online (Sandbox Code Playgroud)

要解决此问题,我使用了:

{% 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 %}
Run Code Online (Sandbox Code Playgroud)