``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``: .. code-block:: jinja {% if online == false %}

Our website is in maintenance mode. Please, come back later.

{% endif %} You can also test if an array is not empty: .. code-block:: jinja {% if users %} {% 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``: .. code-block:: jinja {% if not user.subscribed %}

You are not subscribed to our mailing list.

{% endif %} For multiple conditions, ``and`` and ``or`` can be used: .. code-block:: jinja {% if temperature > 18 and temperature < 27 %}

It's a nice day for a walk in the park.

{% endif %} For multiple branches ``elseif`` and ``else`` can be used like in PHP. You can use more complex ``expressions`` there too: .. code-block:: jinja {% 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 ====================== ====================