[php] 나뭇 가지 삼항 연산자, 속기 if-then-else

Twig는 삼항 연산자를 지원합니까?

다음과 같은 조건부 논리가 필요합니다.

{%if ability.id in company_abilities %}
    <tr class="selected">
{%else%}
    <tr>
{%endif%}

Twig에서는 속기를 사용합니다.



답변

{{ (ability.id in company_abilities) ? 'selected' : '' }}

삼항 연산자는 ‘ 기타 연산자 ‘에 문서화되어 있습니다.


답변

Twig 1.12.0부터 약식 구문을 사용할 수 있습니다

{{ foo ?: 'no' }} is the same as {{ foo ? foo : 'no' }}
{{ foo ? 'yes' }} is the same as {{ foo ? 'yes' : '' }}


답변

확장 삼항 연산자에 대한 지원이 Twig 1.12.0 에 추가되었습니다 .

  1. 만약 foo에코 yes다른 에코 no:

    {{ foo ? 'yes' : 'no' }}
  2. 만약 foo반향이, 다른 에코 no:

    {{ foo ?: 'no' }}

    또는

    {{ foo ? foo : 'no' }}
  3. 만약 foo에코 yes다른 에코 아무것도 :

    {{ foo ? 'yes' }}

    또는

    {{ foo ? 'yes' : '' }}
  4. foo정의되어 있고 null이 아닌 경우 값을 반환합니다 . no그렇지 않으면 :

    {{ foo ?? 'no' }}
  5. 정의 된foo 경우 의 값을 리턴합니다 ( 값도 계산 됨) .no

    {{ foo|default('no') }}

답변