array_slice()‎

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث

(PHP 4, PHP 5, PHP 7)

تستخرج الدالة array_slice()‎ قسمًا من المصفوفة.

الوصف

array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = FALSE ]] )

تعيد الدالة array_slice()‎ مجموعة من العناصر المتتابعة من المصفوفة array كما هو محدد بواسطة المعاملَيْن offset وlength.

المعاملات

array

المصفوفة المُدخلة.

offset

إذا كان معامل الإزاحة offset غير سالب، فستبدأ إزاحة التتابع من بداية المصفوفة array. أما إذا كان offset سالبًا، فستبدأ إزاحة التتابع من نهاية المصفوفة array .

length

إذا كان معامل الطول length موجبًا، فسيكون عدد العناصر المتتابعة مساوٍ له. وإذا كانت المصفوفة أقصر من length، فستُعيد عناصر المصفوفة المتوفرة فقط. وإذا كان length سالبًا، فسيتوقف التتابع عند هذا العدد من العناصر تنازليًا من نهاية المصفوفة. أما إذا لم تُحدَّد قيمة هذا المعامل الاختياري فسيكون التتابع مكونًا من كل العناصر بدءًا من offset وحتى نهاية المصفوفة array.

preserve_keys

لاحظ أن الدالة array_slice()‎ ستعيد ترتيب وتعيين مؤشرات المصفوفة الرقمية افتراضيًا. لكن يمكننا تغيير هذا السلوك بضبط قيمة المعامل preserve_keys إلى القيمة TRUE.

القيم المعادة

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

سجل التغييرات

الإصدار الوصف
5.2 تغيير القيمة الافتراضية لمعامل الطول length إلى القيمة NULL. يجعل اختيار معامل الطول length بالقيمة NULL الدالة تستخدم طول المصفوفة array بالكامل. قبل هذا الإصدار، كان اختيار length بالقيمة NULL يعني طولًا صفريًا (أي لن تعيد الدالة أي شيء).
5.0.2 اضافة معامل preserve_keys الاختياري.

أمثلة

المثال 1: أمثلة على الدالة array_slice()

<?php
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 2);      // تعيد "c", "d", و "e"
$output = array_slice($input, -2, 1);  // تعيد "d"
$output = array_slice($input, 0, 3);   // تعيد "a", "b", و "c"
/ / لاحظ الاختلافات في مفاتيح المصفوفة
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>

سوف تكون مُخرجات المثال أعلاه كالتالي:

Array
(
    [0] => c
    [1] => d
)
Array
(
    [2] => c
    [3] => d
)

انظر أيضًا

  • الدالة array_splice()‎: إزالة جزء من المصفوفة واستبداله بشيء آخر.
  • الدالة unset()‎: إلغاء تعيين متغير معين.
  • الدالة array_chunk()‎: تقسيم مصفوفة إلى قطع.

مصادر