• Home
  • Jobs
  • Courses
  • Questions
  • Teachers
  • For business
  • ES/EN

0

32
Views
Is identical (===) in Twig

Here's the PHP code:

if ($var===0) {do something}

It "does something" only when $var is actually 0 (and if $var is not set, it doesn't work, so everything is OK).

However, Twig doesn't support === operator, and if I write:

{% if var==0 %}do something{% endif %}

it "does something" all the time (even when $var is not set). In order to fix it, I wrote such a code:

{% if var matches 0 %}do something{% endif %}

Is it a proper way to do === comparison in Twig, or I did something wrong here? If it's wrong, how should it be fixed?

about 2 months ago ·

Santiago Trujillo

2 answers
Answer question

0

You need to use same as in Twig for === comparisons:

{% set var1=0 %}
{% set var2='0' %}

{% if var1 is same as( 0 ) %}
    var1 is 0.
{% else %}
    var1 is not zero.
{% endif %}

{% if var2 is same as( 0 ) %}
    var2 is 0.
{% else %}
    var2 is not 0.
{% endif %}

{% if var2 is same as( '0' ) %}
    var2 is '0'.
{% else %}
    var2 is not '0'.
{% endif %}

Here is a twigfiddle showing it in operation:

https://twigfiddle.com/k09myb

Here is the documentation for same as also stating that it is equivalent to ===. Hope that helps you!

about 2 months ago · Santiago Trujillo Report

0

Twig doesn't have === but it has same as instead. See: https://twig.sensiolabs.org/doc/2.x/tests/sameas.html

So you could write:

{% if var is same as(0) %}do something{% endif %}

Eventually, you can use is defined to check whether the variable is set.

about 2 months ago · Santiago Trujillo Report
Answer question
Find remote jobs
Loading

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post job Plans Our process Sales
Legal
Terms and conditions Privacy policy
© 2022 PeakU Inc. All Rights Reserved.