【发布时间】:2012-08-02 22:52:03
【问题描述】:
Twig 是否支持三元(if-else 简写)运算符?
我需要一些条件逻辑,例如:
{%if ability.id in company_abilities %}
<tr class="selected">
{%else%}
<tr>
{%endif%}
但在 Twig 中使用简写。
【问题讨论】:
标签: php twig conditional-operator
Twig 是否支持三元(if-else 简写)运算符?
我需要一些条件逻辑,例如:
{%if ability.id in company_abilities %}
<tr class="selected">
{%else%}
<tr>
{%endif%}
但在 Twig 中使用简写。
【问题讨论】:
标签: php twig conditional-operator
{{ (ability.id in company_abilities) ? 'selected' : '' }}
三元运算符记录在“other operators”下
【讨论】:
{{ (ability.id in company_abilities) ? ability.id : '' }}
<div class="my-section {{ model.event.eventDate ? 'half' : '' }}"> --想根据条件在此处添加一个 css 类。
您可以使用 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 回显yes 否则不回显:
{{ foo ? 'yes' }}
或
{{ foo ? 'yes' : '' }}
如果foo是已定义且非空,则返回no的值,否则返回no:
{{ foo ?? 'no' }}
如果是已定义(空值也算),则返回foo的值,否则返回no:
{{ foo|default('no') }}
【讨论】:
例如,如果数据库中存在价格,则打印(价格为 $$$),否则打印(不可用)和~ 以在Twig 中连接。
{{ Price is defined ? 'Price is '~Price : 'Not Available' }}
【讨论】:
Price 等于 0,它将评估为 false 并显示“不可用”而不是 0,不是吗?
我只是使用a 作为通用变量名。你也可以像这样使用无穷无尽的:
{{ a == 1 ? 'first' : a == 2 ? 'second' : 'third' }}
【讨论】: