Twig: In_Array или подобный возможный внутри, если оператор?

Я использую Twig как шаблон Двигатель, и я действительно люблю это. Тем не менее, теперь я бегал в ситуации, которая, безусловно, должна быть выполнена более простым способом, чем я нашел.

То, что я имею сейчас, так это:

{% for myVar in someArray %}    
    {% set found = 0 %}
    {% for id, data in someOtherArray %}
        {% if id == myVar %}
            {{ myVar }} exists within someOtherArray.
            {% set found = 1 %} 
        {% endif %}
    {% endfor %}

    {% if found == 0 %}
        {{ myVar }} doesn't exist within someOtherArray.
    {% endif %}
{% endfor %}

Что я ищу что-то большее, как это:

{% for myVar in someArray %}    
    {% if myVar is in_array(array_keys(someOtherArray)) %}
       {{ myVar }} exists within someOtherArray.
    {% else %}
       {{ myVar }} doesn't exist within someOtherArray.
    {% endif %}
{% endfor %}

Есть ли способ выполнить это, что я еще не видел?

Если мне нужно создать свое собственное расширение, как я могу получить доступ к MyVar в функции теста?

ваша помощь!

194
задан sprain 17 September 2011 в 21:58
поделиться

1 ответ

Хотя вышеупомянутые ответы являются правильными, я нашел что-то более удобным для пользователя подходом при использовании тернарного оператора.

{{ attachment in item['Attachments'][0] ? 'y' : 'n' }}

, Если кто-то должен работать через foreach тогда,

{% for attachment in attachments %}
    {{ attachment in item['Attachments'][0] ? 'y' : 'n' }}
{% endfor %}
0
ответ дан 23 November 2019 в 05:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: