الفرق بين المراجعتين ل"Twig/slice"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط
ط
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: المرشح slice في Twig}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: المرشح slice في Twig}}</noinclude>
المرشح <code>slice</code> يستخرج شريحة صغيرة من التسلسل أو الربط (mapping) أو السلسلة النصية: <syntaxhighlight lang="twig">
+
المرشح <code>slice</code> يستخرج شريحة صغيرة من التسلسل أو الربط mapping أو السلسلة النصية: <syntaxhighlight lang="twig">
 
{% for i in [1, 2, 3, 4, 5]|slice(1, 2) %}
 
{% for i in [1, 2, 3, 4, 5]|slice(1, 2) %}
 
     {# سيكرر على 2 و 3 #}
 
     {# سيكرر على 2 و 3 #}

المراجعة الحالية بتاريخ 06:26، 11 مايو 2021

المرشح slice يستخرج شريحة صغيرة من التسلسل أو الربط mapping أو السلسلة النصية:

{% for i in [1, 2, 3, 4, 5]|slice(1, 2) %}
    {# سيكرر على 2 و 3 #}
{% endfor %}

{{ '12345'|slice(1, 2) }}

{# يخرج 23 #}

يمكن استخدام أي تعبير صالح للبداية والطول:

{% for i in [1, 2, 3, 4, 5]|slice(start, length) %}
    {# ... #}
{% endfor %}

يُستخدم ترميز [] من أجل التجميل اللغوي:

{% for i in [1, 2, 3, 4, 5][start:length] %}
    {# ... #}
{% endfor %}

{{ '12345'[1:2] }} {# will display "23" #}

{# يمكن إهمال الوسيط الأول كأننا كتبنا صفرًا #}
{{ '12345'[:2] }} {# will display "12" #}

{# إذا أهملنا الوسيط الأخير فسيختار كل العناصر الباقية #}
{{ '12345'[2:] }} {# will display "345" #}

أسلوب عمل المرشح slice يشبه دالة array_slice للمصفوفات في لغة PHP، و mb_substr للسلاسل النصية التي تستخدم substr كاحتياطي.

يبدأ التسلسل من بداية المتغير إن كانت البداية غير سالبة، فإن كانت سالبة فإنه يبدأ من نفس المسافة من نهاية المتغير. إذا أُعطي الطول وكان موجبًا فإن التسلسل سيحتوي على عناصر عددها يساوي الطول، وإن كان المتغير أقصر من الطول فستكون العناصر المتغيرة فقط هي المتاحة، وإذا أُعطي الطول وكان سالبًا فإن التسلسل يوقف من العناصر عددًا مساويًا لذلك الطول من نهاية المتغير، أما إذا أُهمل الطول فإن التسلسل سيحتوي على كل شيء من البداية حتى نهاية المتغير.

لاحظ أنه يعمل مع الكائنات التي تستخدم واجهة Traversable.

الوسائط

  • start: بداية الجزء.
  • length: حجم الشريحة.
  • preserve_keys: تحديد هل يجب حفظ المفتاح أم لا إذا كان الدخل مصفوفة.

انظر أيضًا

المصادر