テンプレートエンジンとして 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にアクセスするにはどうすればいいですか?
ご協力いただきありがとうございます!
ここでいくつかのことを明確にします。受け入れられた答えはPHP in_arrayと同じではありません。
PHP in_arrayと同じことをするには、次の式を使います。
{% if myVar in myArray %}
これを否定したい場合は、これを使用する必要があります。
{% if myVar not in myArray %}
@jake staymanの他の例:
{% for key, item in row.divs %}
{% if (key not in [1,2,9]) %} // eliminate element 1,2,9
<li>{{ item }}</li>
{% endif %}
{% endfor %}
これを試して
{% if var in ['foo', 'bar', 'beer'] %}
...
{% endif %}
それはあなたを助けるでしょう。
{% for user in users if user.active and user.id not 1 %}
{{ user.name }}
{% endfor %}