在 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中文網其他相關文章!