انتقل إلى محتوى الدرس

Non-Destructive Extraction with array_slice اقتطاع شريحة دون تعديل الأصل عبر array_slice

تحكم في أطراف المصفوفة عبر array_push وarray_pop وarray_shift وarray_unshift، واقتطع أو استبدل الشرائح بـ array_slice وarray_splice.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

تقتطع الدالة array_slice($array, $offset, $length, $preserveKeys) نافذة متجاورة من العناصر في مصفوفة جديدة دون أي تعديل على المصفوفة الأصلية.

  • يبدأ المعامل الموجب $offset العد من البداية (من الصفر)، بينما يبدأ السالب من النهاية (مثل -2 للبدء من آخر عنصرين).
  • يُوقف الطول السالب $length الاقتطاع قبل نهاية المصفوفة بعدد العناصر المحدد.
  • مرر true كمعامل رابع ($preserveKeys) لمنع PHP من تصفير المفاتيح الرقمية في الشريحة المستخرجة.

افتراضياً تعيد array_slice() ترقيم المفاتيح الرقمية إلى 0, 1، بينما تمرير true في المعامل الرابع يحافظ على المفاتيح الأصلية 20, 30.

مخطط تدفق التنفيذ العملي لقسم اقتطاع شريحة دون تعديل الأصل عبر array_slice في لغة PHP
PHP
<?php
$scores = [10 => 88, 20 => 92, 30 => 95, 40 => 99];

$page = array_slice($scores, 1, 2);
$kept = array_slice($scores, 1, 2, true);
$lastTwo = array_slice($scores, -2);

echo "Reset keys: " . implode(",", array_keys($page)) . "\n";
echo "Kept keys : " . implode(",", array_keys($kept)) . "\n";