我使用树枝作为模板引擎,我真的很喜欢它。然而,现在我遇到了一个肯定可以用比我发现的更简单的方法来完成的情况。
我现在拥有的是:
{% 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在测试函数?
谢谢你的帮助!
下面是一个用Twig最近的所有可能性来完成答案的问题:
为了达到这样的效果:
{% for myVar in someArray %}
{% if myVar in someOtherArray|keys %}
{{ myVar }} exists within someOtherArray.
{% else %}
{{ myVar }} doesn't exist within someOtherArray.
{% endif %}
{% endfor %}
(https://twigfiddle.com/0b5crp)
你也可以使用数组映射,并有以下一行代码:
(树枝>= 1.41或>= 2.10或任意3。x版本)
{{ someArray|map(myVar => myVar ~ (myVar not in someOtherArray|keys ? ' doesn\'t') ~ ' exists within someOtherArray.')|join('\n') }}
输出的结果非常相似。
也看到这个树枝小提琴:https://twigfiddle.com/dlxj9g
下面是一个用Twig最近的所有可能性来完成答案的问题:
为了达到这样的效果:
{% for myVar in someArray %}
{% if myVar in someOtherArray|keys %}
{{ myVar }} exists within someOtherArray.
{% else %}
{{ myVar }} doesn't exist within someOtherArray.
{% endif %}
{% endfor %}
(https://twigfiddle.com/0b5crp)
你也可以使用数组映射,并有以下一行代码:
(树枝>= 1.41或>= 2.10或任意3。x版本)
{{ someArray|map(myVar => myVar ~ (myVar not in someOtherArray|keys ? ' doesn\'t') ~ ' exists within someOtherArray.')|join('\n') }}
输出的结果非常相似。
也看到这个树枝小提琴:https://twigfiddle.com/dlxj9g