Home >Backend Development >PHP Tutorial >How Can I Access Dynamically Named Variables in Twig?
In Twig, you may encounter scenarios where you need to access variables with dynamic names. For instance, you have variables named placeholder1, placeholder2, etc., and you want to display them in a loop context.
To achieve this, you can utilize two approaches:
1. Attribute Function:
{{ attribute(_context, 'placeholder' ~ id) }}
In this case, _context is the context array, placeholder is the static part of the variable name, and id is the dynamic part. Concatenating the two parts with ~ generates the complete variable name.
2. Bracket Notation:
{{ _context['placeholder' ~ id] }}
This method is more concise than the attribute function and also provides the same functionality.
Handling Non-Existent Variables:
To prevent errors due to non-existent variables, consider setting the strict_variables environment option to true and using the default filter:
{{ _context['placeholder' ~ id]|default }} {{ attribute(_context, 'placeholder' ~ id)|default }}
Alternatively, you can use the defined test to check for the existence of a variable before accessing it:
{% if _context['placeholder' ~ id] is defined %} ... {% endif %}
By using these techniques, you can dynamically access variables in Twig to cater to your specific needs.
The above is the detailed content of How Can I Access Dynamically Named Variables in Twig?. For more information, please follow other related articles on the PHP Chinese website!