Twig 是否支持三元(速记 if-else)运算符?
我需要一些条件逻辑,例如:
{%if ability.id in company_abilities %}
<tr class="selected">
{%else%}
<tr>
{%endif%}
但在 Twig 中使用速记。
Twig 是否支持三元(速记 if-else)运算符?
我需要一些条件逻辑,例如:
{%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添加了对扩展三元运算符的支持。
如果foo
回yes
显,则回显no
:
{{ foo ? 'yes' : 'no' }}
如果foo
回显它,否则回显no
:
{{ foo ?: 'no' }}
或者
{{ foo ? foo : 'no' }}
如果foo
echo yes
else 不回显:
{{ foo ? 'yes' }}
或者
{{ foo ? 'yes' : '' }}
foo
如果它已定义且不为null,则返回 的值,no
否则:
{{ foo ?? 'no' }}
foo
如果已定义,则返回值(空值也计算在内),no
否则:
{{ foo|default('no') }}
例如,如果数据库中存在价格,则 print (Price is $$$) else print (Not Available)~
和Twig
.
{{ Price is defined ? 'Price is '~Price : 'Not Available' }}
我只是用作a
通用变量名。如果其他情况像这样,您也可以使用无穷无尽:
{{ a == 1 ? 'first' : a == 2 ? 'second' : 'third' }}