在 Twig 中处理对象数组时,通常需要访问具有动态名称的变量。这可以通过使用模板语法和 PHP 函数的组合来实现。
要访问名为 placeholder{n} 的变量,其中 n 是变量,您可以使用属性函数:
{{ attribute(invoices, 'placeholder1') }}
这将返回当前发票对象中的 placeholder1 变量的值。
或者,您可以直接访问值使用方括号表示法来表示上下文数组:
{{ _context['placeholder' ~ id] }}
这种方法通常是首选,因为它更简洁、更清晰。但是,它需要将 strict_variables 环境选项设置为 true,以避免访问不存在的变量时出现运行时错误。
如果 strict_variables 选项设置为 true,则应该使用默认过滤器为不存在的变量提供默认值:
{{ _context['placeholder' ~ id]|default('Default value') }}
要在使用变量之前检查变量是否存在,可以使用定义的测试:
{% if _context['placeholder' ~ id] is defined %} ... {% endif %}
这种方法比使用默认过滤器更详细,但它提供了对异常处理更明确的控制。
以上是如何在 Twig 中访问动态变量名?的详细内容。更多信息请关注PHP中文网其他相关文章!