44

twig中,是否有一种简单的方法来测试 2 个变量的相等性?

{% if var1 = var2 %}无效,{% if var1 is sameas(var2) %}仅当两者都是字符串时才有效...

(来自文档)“sameas 检查一个变量是否指向与另一个变量相同的内存地址”,这很有用。

所以我发现比较整数的唯一方法是将它们都转换为字符串:
{% if var1|lower is sameas(var2|lower) %}

4

2 回答 2

71

据我所知,Twig 支持所有标准逻辑运算符==, !=, <, >, >=, and <=.此外,您的第一个示例{% if var1 = var2 %}不检查相等性,它分配var2var1,您可能希望将其更改为比较运算符==

Twigsameas内置测试本质上是一个严格的类型比较运算符===,因此在您的示例中它们都需要是字符串。

于 2010-11-29T11:09:58.317 回答
1

如果您正在比较具有数值的值,您可以使用:

{% if (psong.songid) ==(song.id) %}
于 2013-02-06T10:11:07.027 回答