Test égalité variable brindille
Question
brindille , est-il un moyen facile de tester l'égalité des 2 variables?
{% if var1 = var2 %}
n'est pas valide, {% if var1 is sameas(var2) %}
ne fonctionne que si les deux sont une des chaînes ...
(de documents) "contrôles sameAs si un des points variables à la même adresse mémoire qu'une autre variable", comme des thats utile.
La seule façon que j'ai trouvé de comparer des entiers est de les convertir à la fois à cordes:
{% if var1|lower is sameas(var2|lower) %}
La solution
Pour autant que je suis au courant Brindille soutient tous les opérateurs logiques standard ==, !=, <, >, >=, and <=.
En outre, votre premier exemple {% if var1 = var2 %}
ne vérifie pas pour l'égalité, il attribue var2
à var1
, vous voudrez peut-être changer à l'opérateur de comparaison ==
.
Le Brindille sameas
construit en test, est essentiellement un opérateur de comparaison de type strict ===
, donc pourquoi ils doivent tous deux être des chaînes dans votre exemple.
Autres conseils
Si vous comparez la valeur qui ont une valeur numérique, vous pouvez utiliser:
{% if (psong.songid) ==(song.id) %}