내가 사용하고 나뭇 가지 엔진을하는 주형으로하고 정말 사랑하고있다. 그러나 이제는 내가 찾은 것보다 더 간단한 방법으로 달성 할 수있는 상황에서 뛰었습니다.
내가 지금 가지고있는 것은 이것입니다 :
{% 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에 어떻게 액세스 할 수 있습니까?
당신의 도움을 주셔서 감사합니다!
답변
두 번째 코드 블록의 두 번째 줄을
{% if myVar is in_array(array_keys(someOtherArray)) %}
에
{% if myVar in someOtherArray|keys %}
답변
여기에 몇 가지를 정리하십시오. 수락 된 답변은 PHP in_array 와 동일하지 않습니다 .
PHP in_array 와 동일하게 하려면 다음 표현식을 사용하십시오.
{% if myVar in myArray %}
이것을 부정하려면 다음을 사용해야합니다.
{% if myVar not in myArray %}
답변
이 시도
{% if var in ['foo', 'bar', 'beer'] %}
...
{% endif %}
답변
@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 %}
답변
도움이 될 것입니다.
{% for user in users if user.active and user.id not 1 %}
{{ user.name }}
{% endfor %}
추가 정보 : http://twig.sensiolabs.org/doc/tags/for.html
답변
위의 답변이 옳았지만 삼항 연산자를 사용하는 동안 더 사용자 친화적 인 접근법을 발견했습니다.
{{ attachment in item['Attachments'][0] ? 'y' : 'n' }}
누군가 foreach를 통해 작업해야하는 경우
{% for attachment in attachments %}
{{ attachment in item['Attachments'][0] ? 'y' : 'n' }}
{% endfor %}