Проверка равенства переменных в веточке - PullRequest
39 голосов
/ 29 ноября 2010

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

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

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

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

Ответы [ 2 ]

66 голосов
/ 29 ноября 2010

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

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

1 голос
/ 06 февраля 2013

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

{% if (psong.songid) ==(song.id) %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...