On this page
if
The if
statement in Twig is comparable with the if statements of PHP.
In the simplest form you can use it to test if an expression evaluates to true
:
{% if online == false %}
<p>Our website is in maintenance mode. Please, come back later.</p>
{% endif %}
You can also test if an array is not empty:
{% if users %}
<ul>
{% for user in users %}
<li>{{ user.username|e }}</li>
{% endfor %}
</ul>
{% endif %}
Note
If you want to test if the variable is defined, use if users is defined
instead.
You can also use not
to check for values that evaluate to false
:
{% if not user.subscribed %}
<p>You are not subscribed to our mailing list.</p>
{% endif %}
For multiple conditions, and
and or
can be used:
{% if temperature > 18 and temperature < 27 %}
<p>It's a nice day for a walk in the park.</p>
{% endif %}
For multiple branches elseif
and else
can be used like in PHP. You can use more complex expressions
there too:
{% if product.stock > 10 %}
Available
{% elseif product.stock > 0 %}
Only {{ product.stock }} left!
{% else %}
Sold-out!
{% endif %}
Note
The rules to determine if an expression is true
or false
are the same as in PHP; here are the edge cases rules:
Value | Boolean evaluation |
---|---|
empty string | false |
numeric zero | false |
NAN (Not A Number) | true |
INF (Infinity) | true |
whitespace-only string | true |
string “0” or ‘0’ | false |
empty array | false |
null | false |
non-empty array | true |
object | true |
© 2009–2018 by the Twig Team
Licensed under the three clause BSD license.
The Twig logo is © 2010–2020 Symfony
https://twig.symfony.com/doc/3.x/tags/if.html