Twig ternary operator, Shorthand if-then-else Twig ternary operator, Shorthand if-then-else php php

Twig ternary operator, Shorthand if-then-else


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

The ternary operator is documented under 'other operators'


You can use shorthand syntax as of Twig 1.12.0

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


Support for the extended ternary operator was added in Twig 1.12.0.

  1. If foo echo yes else echo no:

    {{ foo ? 'yes' : 'no' }}
  2. If foo echo it, else echo no:

    {{ foo ?: 'no' }}

    or

    {{ foo ? foo : 'no' }}
  3. If foo echo yes else echo nothing:

    {{ foo ? 'yes' }}

    or

    {{ foo ? 'yes' : '' }}
  4. Returns the value of foo if it is defined and not null, no otherwise:

    {{ foo ?? 'no' }}
  5. Returns the value of foo if it is defined (empty values also count), no otherwise:

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