Symfony Twig模板:将字符串转换为小写字母进行比较

4
我有以下的PHP代码
$option = "yes";

和Twig标签

{% if option == "yes" %}

它可以正常工作,但如果大写字母,就会失败。

$option = "YES";

我尝试了下面的方法,但是它不起作用。
{% if option == "yes" | lower %}

还有其他方法吗?在Twig文档中似乎找不到这个,谢谢!
1个回答

11
{% if option == "yes" | lower %}

{% if option == "yes" %}相同,因为您正在将字符串"yes"转换为小写字母,而它本身就是小写字母。相反,您需要先将变量转换为小写字母,然后再进行比较:

{% if option|lower == "yes" %}

我遇到了一个错误:"mb_strtolower() expects parameter 1 to be string, object given"。@Paulpro,你知道"{% if (Link.Type)|lower == "workshop" %}"的解决方案吗? - Jörn
@Jörn,我猜Link.Type不是字符串。如果你在Symfony的调试模式下,可以使用{{ dump(Link.Type)}}来确定它是什么。 - Paul

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接