在PHP中,我们可以使用函数array_key_exists()
检查数组中是否存在键。
在Twig模板语言中,我们可以简单地使用if
语句来检查变量或对象的属性是否存在,如下所示:
{% if app.user %}
do something here
{% else %}
do something else
{% endif %}
但是我们如何使用Twig检查 * 数组 * 的键是否存在?我尝试了{% if array.key %}
,但它给了我一个错误:
Key "key" for array with keys "0, 1, 2, 3...648" does not exist
由于将数据传递到模板的主要方法之一是使用数组,因此似乎应该有一些方法可以做到这一点。有什么想法吗?
4条答案
按热度按时间stszievb1#
小枝示例:
ldfqzlk82#
您可以使用
keys
wig函数{% if myVar in someOtherArray|keys %}
at0kjp5o3#
快速应答(TL;DR)
default
过滤器来处理。详细答案
上下文
default
过滤器的通用用途。问题
*方案:
溶液
default
过滤器。default
过滤器捕获由于未定义的变量引起的任何异常,并允许短路替换替代值。default
过滤器可链接。Example01
另请参见
6rqinv9w4#
SYMFONY 6
解决方案很简单TWIG正在查找在Controller中调用
$this->render
时传递的变量。1.创建包数据,如
1.传给TWIG
return $this-〉render('folder/template.html. twig',[ 'o' =〉$options,]);
1.在twig中只需要查找“passed”键(o)和数组数据