Question

In twig, is there an easy way to test the equality of 2 variables?

{% if var1 = var2 %} isn't valid, {% if var1 is sameas(var2) %} only works if both are a strings...

(from docs) "sameas checks if a variable points to the same memory address than another variable", like thats useful.

So the only way I've found of comparing integers is to convert them both to strings:
{% if var1|lower is sameas(var2|lower) %}

Was it helpful?

Solution

As far as I'm aware Twig supports all of the standard logical operators ==, !=, <, >, >=, and <=. Also, your first example {% if var1 = var2 %} does not check for equality, it assigns var2 to var1, you might want to change it to the comparison operator ==.

The Twig sameas built in test, is essentially a strict type comparison operator ===, hence why they both need to be strings in your example.

OTHER TIPS

If you are comparing value which have a numeric value you can use:

{% if (psong.songid) ==(song.id) %}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top