المرشح merge في Twig

من موسوعة حسوب
مراجعة 09:18، 3 مايو 2021 بواسطة أسامه-دمراني (نقاش | مساهمات) (1.0: إضافة عنوان الصفحة | 2.0 محتوى الصفحة)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

المرشح merge يدمج مصفوفتين معًا، وتضاف القيم الجديدة في نهاية السرد:

{% set values = [1, 2] %}

{% set values = values|merge(['apple', 'orange']) %}

{# [1, 2, 'apple', 'orange'] القيم الآن فيها #}

كذلك فإن المرشح merge يصلح استخدامه في حالة الجداول (hashes):

{% set items = { 'apple': 'fruit', 'orange': 'fruit', 'peugeot': 'unknown' } %}

{% set items = items|merge({ 'peugeot': 'car', 'renault': 'car' }) %}

{# { 'apple': 'fruit', 'orange': 'fruit', 'peugeot': 'car', 'renault': 'car' } القيم تحتوي الآن #}

لكن بالنسبة للجداول فإن عملية الدمج تحدث على المفاتيح، فإن المفتاح يضاف إذا لم يكن موجودًا، وإن كان موجودًا فيتم تخطي قيمته. كذلك، يُعكس العنصران اللذان في الاستدعاء لضمان تعريف بعض القيم في مصفوفة ما -بالقيم الافتراضية المعطاة-:

xxxxxxxxxx {% set items = { 'apple': 'fruit', 'orange': 'fruit' } %}{% set items = { 'apple': 'unknown' }|merge(items) %}{# { 'apple': 'fruit', 'orange': 'fruit' } القيم الآن فيها #}

لاحظ أن Twig يستخدم دالة array_merge الخاصة بلغة PHP، وهي تدعم الكائنات القابلة للاجتياز (traversable) إذ تحولها إلى مصفوفات.

انظر أيضًا

المصادر