Warning Twig version 2.x end of maintenance is scheduled for December 2023.
default
The default
filter returns the passed default value if the value is
undefined or empty, otherwise the value of the variable:
1 2 3 4 5 6 7
{{ var|default('var is not defined') }}
{{ var.foo|default('foo item on var is not defined') }}
{{ var['foo']|default('foo item on var is not defined') }}
{{ ''|default('passed var is empty') }}
When using the default
filter on an expression that uses variables in some
method calls, be sure to use the default
filter whenever a variable can be
undefined:
1
{{ var.method(foo|default('foo'))|default('foo') }}
Using the default
filter on a boolean variable might trigger unexpected behavior, as
false
is treated as an empty value. Consider using ??
instead:
1 2 3
{% set foo = false %}
{{ foo|default(true) }} {# true #}
{{ foo ?? true }} {# false #}
Arguments
default
: The default value