Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

الاستخراج باستخدام 'array_slice'

جزء من قسم Logic & Flow في رحلة PHP على Coddy — الدرس 16 من 68.

تتيح لك الدالة array_slice() استخراج جزء من مصفوفة دون تعديل المصفوفة الأصلية. وعلى عكس الدوال مثل array_pop() أو array_shift() التي تقوم بتغيير المصفوفة المصدر، فإن array_slice() تقوم بإنشاء مصفوفة جديدة تحتوي فقط على العناصر التي تحددها.

تأخذ الدالة معاملين أساسيين: الإزاحة (offset) (موقع البداية) و الطول (length) (عدد العناصر المراد استخراجها):

<?php
$scores = [95, 87, 92, 78, 85, 90, 88];
$topThree = array_slice($scores, 0, 3);
print_r($topThree);  // المخرجات: Array ( [0] => 95 [1] => 87 [2] => 92 )
print_r($scores);    // المصفوفة الأصلية لم تتغير
?>

يخبر المعامل offset لغة PHP من أين تبدأ الاستخراج (0 تعني العنصر الأول)، بينما يحدد المعامل length عدد العناصر التي سيتم أخذها. يمكنك أيضاً استخدام قيم سالبة للمعامل offset لبدء العد من نهاية المصفوفة.

تعد هذه الوظيفة مفيدة بشكل خاص عندما تحتاج إلى العمل مع مجموعة فرعية من البيانات، مثل عرض العناصر القليلة الأولى فقط من قائمة كبيرة أو استخراج نطاق معين من العناصر لمعالجتها، كل ذلك مع الحفاظ على بياناتك الأصلية سليمة.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

challenge icon

التحدي

سهل

ستتلقى ثلاثة مدخلات: مصفوفة من أسعار المنتجات بتنسيق JSON، وموضع البداية (offset)، وعدد العناصر المراد استخراجها (length). اقرأ جميع المدخلات الثلاثة، وقم بتحويل سلسلة JSON إلى مصفوفة، واستخدم array_slice() لاستخراج الجزء المحدد من المصفوفة، واطبع الجزء المستخرج باستخدام print_r().

تنسيق المدخلات: ثلاثة أسطر - السطر الأول يحتوي على مصفوفة JSON من الأرقام (مثال: [29.99,15.50,42.00,8.75,33.25])، والسطر الثاني يحتوي على الإزاحة (موضع البداية)، والسطر الثالث يحتوي على الطول (عدد العناصر المراد استخراجها)

المخرجات المتوقعة: الجزء المستخرج من المصفوفة، معروضاً باستخدام print_r()

ورقة مرجعية

تقوم الدالة array_slice() باستخراج جزء من مصفوفة دون تعديل المصفوفة الأصلية.

الصيغة: array_slice($array, $offset, $length)

  • الإزاحة (offset): موضع البداية (0 = العنصر الأول)
  • الطول (length): عدد العناصر المراد استخراجها
  • استخدم إزاحة سالبة للبدء من نهاية المصفوفة
<?php
$scores = [95, 87, 92, 78, 85, 90, 88];
$topThree = array_slice($scores, 0, 3);
print_r($topThree);  // Array ( [0] => 95 [1] => 87 [2] => 92 )
print_r($scores);    // المصفوفة الأصلية لم تتغير
?>

جرّب بنفسك

<?php
// قراءة مصفوفة الأسعار بتنسيق JSON
$json_input = fgets(STDIN);
$prices = (array)json_decode($json_input, true);

// قراءة الإزاحة (موقع البداية)
$offset = intval(fgets(STDIN));

// قراءة الطول (عدد العناصر المراد استخراجها)
$length = intval(fgets(STDIN));

// TODO: اكتب الكود الخاص بك أدناه لاستخراج الجزء المطلوب وإخراجه

?>
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow