반응형
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
데이터를 템플릿에 전달하는 기본 방법 중 하나는 배열을 사용하는 것이므로이를 수행하는 방법이 있어야 할 것 같습니다. 이견있는 사람?
나뭇 가지 예 :
{% if array.key is defined %}
// do something
{% else %}
// do something else
{% endif %}
keys
나뭇 가지 기능을 사용할 수 있습니다.
{% if myVar in someOtherArray|keys %}
빠른 답변 (TL; DR)
- DeveloperTLindel은 Twig에 배열 키가 있는지 테스트하려고합니다.
- DeveloperTLindel은 정의되지 않은 키와 관련된 오류를 트랩하려고합니다.
- 이것은
default
필터를 사용하여 처리 할 수 있습니다 .
자세한 답변
문맥
- Twig 2.x (2017 년 3 월 8 일 수요일 현재 최신 버전)
default
필터 의 범용 사용 .
문제
- 대본:
- DeveloperTLindel은 Twig에 배열 키가 있는지 테스트하려고합니다.
- DeveloperTLindel은 잠재적으로 정의되지 않은 키로 인해 발생하는 오류 또는 예외를 방지하려고합니다.
해결책
- DeveloperTLindel은
default
필터 를 사용할 수 있습니다 . default
필터 정의 변수 때문에 예외를 캐치하고, 다른 값의 단락 substition 있습니다.default
필터 체인 가능하다.
예 01
{#-**************************************** 연관 배열의 단일 키 테스트 -#} {%-set mystring = myarray [ 'key-no-existo'] | default ( '__ BLANK__')-%} {#-**************************************** 연관 배열의 여러 키 테스트 -#} {%-set mystring = myarray [ 'alpha'] | 기본값 (myarray [ 'bravo']) | 기본값 (myarray [ 'charlie']) | 기본값 ( '__BLANK__') -%}
또한보십시오
참고 URL : https://stackoverflow.com/questions/13607241/in-twig-check-if-a-specific-key-of-an-array-exists
반응형
'Programing' 카테고리의 다른 글
다중 선택 상자의 모든 선택된 값을 얻는 방법은 무엇입니까? (0) | 2020.11.10 |
---|---|
단일 호스트 Node.js 프로덕션 앱에 적합한 세션 저장소는 무엇입니까? (0) | 2020.11.10 |
mongo 그룹 쿼리 필드 유지 방법 (0) | 2020.11.10 |
iOS7의 UIAlertView addSubview (0) | 2020.11.10 |
새로운 색상 드로어 블 만들기 (0) | 2020.11.10 |