2010-11-29 32 views
35

En twig, ¿existe una manera fácil de probar la igualdad de 2 variables?Prueba de igualdad de variables en twig

{% if var1 = var2 %} no es válida, {% if var1 is sameas(var2) %} sólo funciona si ambos son unas cuerdas ...

(de documentos) "sameAs comprueba si una variable apunta a la misma dirección de memoria de otra variable", como eso es útil.

Así que la única forma que he encontrado de números enteros que comparaban es convertirlas tanto a cadenas:
{% if var1|lower is sameas(var2|lower) %}

Respuesta

56

Por lo que yo soy consciente de la ramita es compatible con todos los operadores lógicos estándar ==, !=, <, >, >=, and <=. Además, su primera el ejemplo {% if var1 = var2 %} no marca la igualdad, asigna var2 a var1, es posible que desee cambiarlo al operador de comparación ==.

El Twig sameas integrado en la prueba, es esencialmente un operador de comparación de tipo estricto ===, por lo tanto, ambos necesitan ser cadenas en su ejemplo.

+6

Cheers, la documentación no significa que sea obvio. – Sam

+0

Sí, incluso en 2015 la documentación es horrible, totalmente no dicen los casos de uso más simples. Muy raro – Sliq

1

Si está comparando el valor que tienen un valor numérico que puede utilizar:

{% if (psong.songid) ==(song.id) %} 
Cuestiones relacionadas