Twig:循环遍历一系列对象

问题描述 投票:1回答:2

我想知道是否有任何方法循环到这样的结构与Twig:

{%
  set languages = [
    {"english": "en"},
    {"spanish": "es"},
    {"italian": "it"},
    {"german": "de"},
    {"french": "fr"},
    {"portuguese": "pt"},
  ]
%}

{% for value in languages %}
  Language: {{value.??}} - Locale: {{value.??}}
{% endfor %}

我不喜欢在“键值”对中拆分对象只是为了拥有名为...的任何方法来实现这一目标?

同时我修改了结构如下,使用一个简单的键值循环:

{%
  set languages = {
    "english": "en",
    "spanish": "es",
    "italian": "it",
    "german": "de",
    "french": "fr",
    "portuguese": "pt"
  }
%}
php twig
2个回答
3
投票

您也可以使用相同的键/值对遍历对象:

{%
  set languages = [
    {"english": "en"},
    {"spanish": "es"},
    {"italian": "it"},
    {"german": "de"},
    {"french": "fr"},
    {"portuguese": "pt"},
  ]
%}

{% for value in languages %}
  {% for k, v in value %}
    Language: {{k}} - Locale: {{v}} <br />
  {% endfor %}
{% endfor %}

{# output:
  Language: english - Locale: en
  Language: spanish - Locale: es
  Language: italian - Locale: it
  Language: german - Locale: de
  Language: french - Locale: fr
  Language: portuguese - Locale: pt 
#}

1
投票

我有一些非常肮脏但有效的解决方案:

{% for value in languages|keys %}
    Language: {{ languages[value]|keys|first }} - Locale: {{ languages[value]|first }}
{% endfor %}
© www.soinside.com 2019 - 2024. All rights reserved.