Twig有一个null coalesce运算符吗?

时间:2012-11-19 10:20:00

标签: twig coalesce

我正在使用Twig PHP模板引擎。

是否有可用的运算符输出第一个非空值(合并)?

例如(使用PHP伪代码):

{{ title ?: "Default Title" }}

我知道我可以做这样的事情,但这有点啰嗦:

{% if title %}{{ title }}{% else %}{{ "Default Title" }}{% endif %}

3 个答案:

答案 0 :(得分:18)

null-coalescing运算符在 Twig 1.24 (2016年1月25日)中正式引入。

  

* adding support for the ?? operator

这意味着现在可以这样做......

{{ title ?? "Default Title" }}

您甚至可以将它们链接在一起,以检查多个变量,直到找到有效的非空值。

{{ var1 ?? var2 ?? var3 ?? var4 }}

答案 1 :(得分:10)

是的,有一个名为default的过滤器。您可以将其应用于您的代码,如下所示:

{{ title|default("Default Title") }}

答案 2 :(得分:4)

从Twig 1.12.0开始,它 拥有?:运算符,但它并非真正" null合并"。它检查真实性,而不仅仅是空值,因此0 ?: 1会出现1

Documentation