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

الإضافة باستخدام 'array_unshift'

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

بينما تضيف الدالة array_push() عناصر إلى نهاية مصفوفة، تفعل الدالة array_unshift() العكس. فهي تضيف عنصرًا واحدًا أو أكثر إلى بداية مصفوفة. تعدّل هذه الدالة المصفوفة الأصلية مباشرةً وتُرجع الطول الجديد للمصفوفة.

إليك الصيغة الأساسية:

<?php
$tasks = ["buy groceries", "do laundry"];
array_unshift($tasks, "urgent meeting");
print_r($tasks);  // Outputs: Array ( [0] => urgent meeting [1] => buy groceries [2] => do laundry )
?>

لاحظ كيف يصبح العنصر الجديد هو الفهرس 0، وتنتقل جميع العناصر الموجودة إلى فهارس أعلى. تحدث إعادة الفهرسة هذه تلقائيًا: تعمل array_unshift() على تحديث جميع المفاتيح الرقمية للحفاظ على التسلسل الصحيح.

يمكنك أيضًا add عدة عناصر دفعة واحدة:

<?php
$priorities = ["medium task"];
array_unshift($priorities, "high priority", "critical task");
print_r($priorities);  // المخرجات: Array ( [0] => high priority [1] => critical task [2] => medium task )
?>

هذه الدالة مفيدة بشكل خاص عندما تحتاج إلى تحديد أولوية items في list، مثل إضافة urgent tasks إلى أعلى list للمهام، أو إدراج high-priority items في مقدمة طابور.

challenge icon

التحدي

سهل

ستتلقى مُدخلين: مصفوفة أولية من notifications بتنسيق JSON وإشعار urgent جديد لإضافته. اقرأ المُدخلين، وحوّل سلسلة JSON إلى مصفوفة، واستخدم array_unshift() لإضافة إشعار urgent إلى beginning المصفوفة، ثم اطبع المصفوفة final باستخدام print_r().

تنسيق الإدخال: سطران - يحتوي السطر الأول على مصفوفة JSON (مثال: ["meeting reminder","email received"])، ويحتوي السطر الثاني على إشعار urgent المراد إضافته

الإخراج المتوقع: المصفوفة بعد إضافة إشعار urgent في beginning، مع عرضها باستخدام print_r()

جرّب بنفسك

<?php
// Read the JSON array of notifications
$jsonInput = fgets(STDIN);
$notifications = (array)json_decode($jsonInput, true);

// Read the urgent notification to add
$urgentNotification = trim(fgets(STDIN));

// TODO: Write your code below to add the urgent notification to the beginning of the array

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

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

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

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