首页 > 解决方案 > 在树枝中的数组中循环遍历数组

问题描述

我正在使用树枝来渲染我的模板。我有一个多维数组并试图列出该数组。我的数组结构如下

Array [0] => Array
    (
        [name] => user1
        [email] => user2@gmail.com
        [company_id] => 136
        [photos] => Array
            (
                [0] => Array
                    (
                        [id] => 2
                        [company_id] => 136
                        [photo] => 5af13c3287f66.jpeg
                    )

                [1] => Array
                    (
                        [id] => 3
                        [company_id] => 136
                        [photo] => default.jpeg
                    )
          )
 [1] => Array
    (
        [name] => user2
        [email] => user2@gmail.com
        [company_id] => 137
        [photos] => []
    )

在我的视图页面中显示这样的

 {% for users in userlist %}
 <tr>
     <td>{{ users.name }}</td>
     <td>{{ users.email}}<td>
     <td> #pic1 - if available </td>
     <td> #pic2 - if available </td>
  </tr>

如何遍历第二个数组并显示其值(如果可用)。请帮忙

标签: arraysloopstwig

解决方案


只需使用另一个循环:

{% for users in userlist %}
  <tr>
    <td>{{ users.name }}</td>
    <td>{{ users.email}}<td>
    {% for photo in users.photos %}
      <td><img src="{{ photo.photo }}" /></td>
    {% endfor %}
  </tr>
{% endfor %}

注意:拥有一个名为 photos 的数组,其元素不代表“照片”,而是拥有另一个名为“照片”的属性,这没有多大意义。filename调用子属性or pathor可能更有意义url;这样{{ photo.photo }}就变成了{{ photo.path }}


推荐阅读