[英]Twig ternary operator, Shorthand if-then-else
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
echo yes
else echo no
:
{{ foo ? 'yes' : 'no' }}
如果foo
回显它,否则回显no
:
{{ foo ?: 'no' }}
要么
{{ foo ? foo : 'no' }}
如果foo
echo yes
else 不回显:
{{ foo ? 'yes' }}
要么
{{ foo ? 'yes' : '' }}
返回的值foo
,如果它被定义并且不为空, no
其他方式:
{{ foo ?? 'no' }}
返回的值foo
,如果它被定义(空值也算), no
否则:
{{ foo|default('no') }}
例如,如果价格存在于数据库中,则打印 (Price is $$$) 否则打印 (Not Available) 和~
用于Twig
的连接。
{{ Price ? 'Price is '~Price : 'Not Available' }}
我只是使用a
作为通用变量名。 你也可以像这样使用endless if else:
{{ a == 1 ? 'first' : a == 2 ? 'second' : 'third' }}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.