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