测试树枝中的变量相等性

发布于 2024-10-04 22:46:08 字数 354 浏览 6 评论 0原文

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

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

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

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

In twig, is there an easy way to test the equality of 2 variables?

{% if var1 = var2 %} isn't valid, {% if var1 is sameas(var2) %} only works if both are a strings...

(from docs) "sameas checks if a variable points to the same memory address than another variable", like thats useful.

So the only way I've found of comparing integers is to convert them both to strings:
{% if var1|lower is sameas(var2|lower) %}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

森林散布 2024-10-11 22:46:08

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

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

As far as I'm aware Twig supports all of the standard logical operators ==, !=, <, >, >=, and <=. Also, your first example {% if var1 = var2 %} does not check for equality, it assigns var2 to var1, you might want to change it to the comparison operator ==.

The Twig sameas built in test, is essentially a strict type comparison operator ===, hence why they both need to be strings in your example.

半边脸i 2024-10-11 22:46:08

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

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

If you are comparing value which have a numeric value you can use:

{% if (psong.songid) ==(song.id) %}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文