2010-11-29 4 views
35

В twig есть ли простой способ проверить равенство 2 переменных?Проверка равенства переменных в веточке

{% if var1 = var2 %} не действует, {% if var1 is sameas(var2) %} работает только, если оба являются строки ...

(из документации) «sameas проверяет, является ли переменная указывает на тот же адрес памяти, чем другой переменной», как Thats полезно.

Так что единственный способ я нашел сравнение целых чисел, чтобы преобразовать их оба строки:
{% if var1|lower is sameas(var2|lower) %}

ответ

56

Насколько я знаю, Twig поддерживает все стандартные логические операторы ==, !=, <, >, >=, and <=. Кроме того, ваш первый пример {% if var1 = var2 %} не проверяет равенство, присваивает var2var1, возможно, вы захотите изменить его на оператора сравнения ==.

Встраиваемый тест Twig sameas, по сути, является оператором сравнения строгих типов ===, поэтому они оба должны быть строками в вашем примере.

+6

Cheers, документация не делает это очевидным. – Sam 2010-11-29 11:12:51

1

Если вы сравниваете значение, которое имеет числовое значение, которое вы можете использовать:

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