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

الحذف باستخدام 'array_shift'

جزء من قسم المنطق وتدفق التنفيذ في رحلة PHP على Coddy. الدرس 13 من 68.

تزيل الدالة array_shift() العنصر الأول من مصفوفة وتُرجع تلك القيمة المُزالة. وهذا عكس الدالة array_unshift()، التي تضيف عناصر إلى بداية المصفوفة.

إليك كيفية عمل ذلك:

<?php
$queue = ["Alice", "Bob", "Charlie"];
$firstPerson = array_shift($queue);
echo $firstPerson;  // المخرجات: Alice
print_r($queue);    // Outputs: Array ( [0] => Bob [1] => Charlie )
?>

لاحظ أن array_shift() تعدّل المصفوفة الأصلية وتُرجع العنصر المُزال في الوقت نفسه. بعد إزالة العنصر الأول، تنتقل جميع العناصر المتبقية تلقائيًا إلى الأسفل لملء الفراغ: ينتقل "Bob" من الفهرس 1 إلى الفهرس 0، وينتقل "Charlie" من الفهرس 2 إلى الفهرس 1.

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

تُعدّ هذه الدالة مفيدة بشكل خاص لتنفيذ طوابير الانتظار، حيث تعالج items بترتيب "الوارد أولًا، الصادر أولًا"، مثل التعامل مع customers في line أو معالجة tasks بالترتيب الذي استُلِمت به.

challenge icon

التحدي

سهل

ستتلقى مُدخلين: مصفوفة أولية من العملاء المنتظرين في الطابور بتنسيق JSON، ورقمًا يحدد عدد العملاء المطلوب خدمتهم. اقرأ كلا المُدخلين، وحوّل سلسلة JSON إلى مصفوفة، واستخدم array_shift() العدد المحدد من المرات لإزالة العملاء الذين تمت خدمتهم من مقدمة الطابور، ثم اطبع المصفوفة النهائية باستخدام print_r().

تنسيق الإدخال: سطران - يحتوي السطر الأول على مصفوفة JSON (مثال: ["Alice","Bob","Charlie","Diana"])، ويحتوي السطر الثاني على عدد العملاء المطلوب خدمتهم (رقم)

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

جرّب بنفسك

<?php
// اقرأ مصفوفة JSON للعملاء
$jsonInput = fgets(STDIN);
$customers = (array)json_decode($jsonInput, true);

// اقرأ عدد العملاء المطلوب خدمتهم
$numToServe = intval(fgets(STDIN));

// TODO: اكتب الكود الخاص بك أدناه
// استخدم array_shift() لإزالة العملاء من مقدمة الطابور


// اطبع المصفوفة النهائية
print_r($customers);
?>
quiz iconاختبر نفسك

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

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم PHP عبر الإنترنت