我使用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?
谢谢你的帮助!
4 回答
您只需要更改第二个代码块的第二行
至
in是包含运算符,keys是一个返回数组键的过滤器 .
只是为了清除这里的一些事情 . 接受的答案与PHP in_array 不同 .
要像PHP _1754130一样使用以下表达式:
如果你想否定这个,你应该使用这个:
@jake stayman之后的另一个例子:
它应该对你有所帮助 .
更多信息:http://twig.sensiolabs.org/doc/tags/for.html