【问题标题】:Testing variable equality in twig在树枝中测试变量相等性
【发布时间】:2011-05-17 05:31:24
【问题描述】:

twig,有没有简单的方法来测试两个变量的相等性?

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

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

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

【问题讨论】:

    标签: php templates twig


    【解决方案1】:

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

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

    【讨论】:

    • 干杯,文档并不明显。
    • 是的,即使在 2015 年,文档也很糟糕,完全不要说最简单的用例。真奇怪
    【解决方案2】:

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

    {% if (psong.songid) ==(song.id) %}
    

    【讨论】:

      最近更新 更多