Twig

灵活、快速且安全的
PHP 模板引擎

a Symfony Product
文档 过滤器 default
您正在阅读 Twig 3.x 的文档。切换到 Twig 1.x2.x 的文档。

问题与反馈

许可证

Twig 文档 在新的 BSD 许可证 下获得许可。

default

default 过滤器在值未定义或为空时返回传递的默认值,否则返回变量的值

1
2
3
4
5
6
7
{{ var|default('var is not defined') }}

{{ user.name|default('name item on user is not defined') }}

{{ user['name']|default('name item on user is not defined') }}

{{ ''|default('passed var is empty')  }}

在对在某些方法调用中使用变量的表达式使用 default 过滤器时,请务必在变量可能未定义时使用 default 过滤器

1
{{ user.value(name|default('username'))|default('not defined') }}

在布尔变量上使用 default 过滤器可能会触发意外行为,因为 false 被视为空值。考虑使用 ?? 代替

1
2
3
{% set value = false %}
{{ value|default(true) }} {# true #}
{{ value ?? true }} {# false #}

注意

阅读 definedempty 测试的文档,以了解更多关于其语义的信息。

参数

  • default:默认值