반응형
Twig에 어레이의 특정 키가 있는지 확인합니다.
PHP에서는 이 함수를 사용하여 배열에 키가 있는지 확인할 수 있습니다.array_key_exists()
.
Twig 템플릿 언어에서 우리는 변수 또는 객체의 속성이 존재하는지 여부를 간단히 확인할 수 있습니다.if
다음과 같은 스테이트먼트를 나타냅니다.
{% if app.user %}
do something here
{% else %}
do something else
{% endif %}
그러나 Twig를 사용하여 어레이의 키가 존재하는지 여부를 확인하려면 어떻게 해야 합니까?나는 노력했다.{% if array.key %}
에러가 발생합니다.
Key "key" for array with keys "0, 1, 2, 3...648" does not exist
데이터를 템플릿에 전달하는 주요 방법 중 하나는 어레이를 사용하는 것이기 때문에 어떤 방법이 있을 것으로 보입니다.무슨 생각 있어?
Twig의 예:
{% if array.key is defined %}
// do something
{% else %}
// do something else
{% endif %}
를 사용할 수 있습니다.keys
잔가지 함수
{% if myVar in someOtherArray|keys %}
빠른 답변(TL;DR)
- 개발자TLindel이 Twig에 어레이 키가 있는지 테스트하려고 합니다.
- 개발자TLindel은 정의되지 않은 키와 관련된 오류를 모두 트랩하려고 합니다.
- 이것은, 다음의 방법으로 처리할 수 있습니다.
default
필터링을 실시합니다.
상세 답변
맥락
- Twig 2.x (2017-03-08년 수요일 현재 최신 버전)
- 의 범용 용도
default
필터링을 실시합니다.
문제
- 시나리오:
- 개발자TLindel이 Twig에 어레이 키가 있는지 테스트하려고 합니다.
- 개발자TLindel은 잠재적으로 정의되지 않은 키로 인해 발생하는 오류 또는 예외를 피하려고 합니다.
솔루션
- 개발자TLindel은
default
필터링을 실시합니다. - 그
default
필터는 정의되지 않은 변수에 의한 예외를 모두 검출하여 대체값의 단락 변위를 허용합니다. - 그
default
필터는 체인 가능합니다.
예 01
{#- ****************************************관련 배열의 단일 키 테스트-#}{%-set mystring = myarray['key-no-existo'] |default('_BLANK__' -%} {#- ****************************************연관 배열의 다중 키 테스트-#}{%-set mystring = myarray['alpha']|default(myarray['myarray') |default(myarray['myarray') |default('_BLANK__')-%}
「 」를 참조해 주세요.
언급URL : https://stackoverflow.com/questions/13607241/in-twig-check-if-a-specific-key-of-an-array-exists
반응형
'programing' 카테고리의 다른 글
addEventListener의 useCapture 매개 변수를 이해할 수 없습니다. (0) | 2022.09.24 |
---|---|
그룹화된 SQL 결과의 각 그룹에 대해 최대값을 가진 레코드를 가져옵니다. (0) | 2022.09.24 |
Galera MySQL의 추가 노드 추가 실패 (0) | 2022.09.21 |
Tymeleaf: 조건을 사용하여 CSS 클래스를 동적으로 추가/삭제하는 방법 (0) | 2022.09.21 |
JavaScript를 사용하여 요소까지 스크롤하려면 어떻게 해야 합니까? (0) | 2022.09.21 |