Bagaimana untuk Mengakses Nama Pembolehubah Ranting Secara Dinamik?

Susan Sarandon
Lepaskan: 2024-11-06 12:42:02
asal
335 orang telah melayarinya

How to Dynamically Access Twig Variable Names?

Mengakses Nama Pembolehubah Twig Secara Dinamik

Mengakses pembolehubah dengan nama dinamik dalam Twig boleh menjadi satu cabaran. Pertimbangkan senario berikut:

<p>placeholder1
placeholder2
placeholderx
</p>

<pre class="brush:php;toolbar:false">{% for invoices as invoice %}
    need to display here the placeholder followed by the invoice id number
    {{ placeholedr1 }}
Salin selepas log masuk

Mengakses Pembolehubah dengan Tatasusunan Konteks

Daripada menggunakan fungsi atribut, anda boleh mengakses nilai pembolehubah dalam tatasusunan _context menggunakan notasi kurungan :

{{ _context['placeholder' ~ id] }}
Salin selepas log masuk

Pilihan ini lebih ringkas dan boleh dikatakan lebih jelas.

Semakan Pembolehubah Tegas

Apabila strict_variables ditetapkan kepada benar dalam pilihan persekitaran , anda mungkin menghadapi ralat untuk pembolehubah yang tidak wujud. Untuk mengendalikan perkara ini, gunakan penapis lalai:

{{ _context['placeholder' ~ id]|default }}

{{ attribute(_context, 'placeholder' ~ id)|default }}
Salin selepas log masuk

Menyemak Kewujudan Pembolehubah

Untuk menyemak sama ada pembolehubah wujud sebelum mengaksesnya, gunakan ujian yang ditentukan:

{% if _context['placeholder' ~ id] is defined %} ... {% endif %}
Salin selepas log masuk

Nilai Lalai dengan Penapis lalai

Sediakan nilai lalai sekiranya pembolehubah tidak wujud menggunakan |lalai:

{{ _context['placeholder' ~ id]|default(null) }}

{{ attribute(_context, 'placeholder' ~ id)|default('Default value') }}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Nama Pembolehubah Ranting Secara Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!