Проверка равенства переменных в веточке


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

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

(из документов) "sameas проверяет, указывает ли переменная на тот же адрес памяти, что и другая переменная", например, это полезно.

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

Author: Kendall Hopkins, 2010-11-29

2 answers

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

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

 61
Author: Russell Dias, 2010-11-29 11:09:58

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

{% if (psong.songid) ==(song.id) %}
 1
Author: webdeveloper, 2013-06-17 13:18:13