Проверка равенства переменных в веточке
В twig существует ли простой способ проверить равенство 2 переменных?
{% if var1 = var2 %}
недействителен, {% if var1 is sameas(var2) %}
работает только в том случае, если оба являются строками...
(from docs) "sameas проверяет, указывает ли переменная на тот же адрес памяти, что и другая переменная", например, полезно.
Таким образом, единственный способ сравнения целых чисел - преобразовать их в строки:
{% if var1|lower is sameas(var2|lower) %}
Ответы
Ответ 1
Насколько я знаю, Twig поддерживает все стандартные логические операторы ==, !=, <, >, >=, and <=.
Кроме того, ваш первый пример {% if var1 = var2 %}
не проверяет равенство, он присваивает var2
var1
, вы можете захотеть изменить это к оператору сравнения ==
.
Встраиваемый тест Twig sameas
, по сути, является оператором сравнения строгих типов ===
, поэтому они оба должны быть строками в вашем примере.
Ответ 2
Если вы сравниваете значение, которое имеет числовое значение, которое вы можете использовать:
{% if (psong.songid) ==(song.id) %}