مراجعة: تمرين قائمة التشغيل
جزء من قسم Logic & Flow في رحلة PHP على Coddy — الدرس 19 من 68.
التحدي
سهلستتلقى أربعة مدخلات: مصفوفة قائمة تشغيل أولية بتنسيق JSON، وأغنية لإضافتها إلى النهاية، وأغنية لإضافتها إلى البداية، واسم أغنية للبحث عنها. قم بقراءة المدخلات الأربعة، وحوّل سلسلة JSON إلى مصفوفة، ثم أضف الأغنية الثانية إلى النهاية باستخدام array_push()، وأضف الأغنية الثالثة إلى البداية باستخدام array_unshift()، ثم استخدم array_search() للعثور على موضع الأغنية الرابعة في قائمة التشغيل المعدلة. اطبع الموضع إذا تم العثور عليه، أو اطبع "Song not found" إذا لم تكن موجودة في قائمة التشغيل.
تنسيق المدخلات: أربعة أسطر - السطر الأول يحتوي على مصفوفة JSON للأغاني (مثال: ["Song A","Song B","Song C"])، والسطر الثاني يحتوي على اسم أغنية لإضافتها في النهاية، والسطر الثالث يحتوي على اسم أغنية لإضافتها في البداية، والسطر الرابع يحتوي على اسم أغنية للبحث عنها.
المخرجات المتوقعة: إما موضع الفهرس الرقمي للأغنية التي تم البحث عنها (بدءاً من 0) في قائمة التشغيل المعدلة، أو النص "Song not found" إذا كانت الأغنية غير موجودة.
جرّب بنفسك
<?php
// قراءة جميع المدخلات الأربعة
$playlistJson = trim(fgets(STDIN));
$songToAddEnd = trim(fgets(STDIN));
$songToAddBeginning = trim(fgets(STDIN));
$songToSearch = trim(fgets(STDIN));
// تحويل نص JSON إلى مصفوفة
$playlist = (array)json_decode($playlistJson, true);
// TODO: اكتب الكود الخاص بك أدناه
// 1. أضف $songToAddEnd إلى نهاية قائمة التشغيل باستخدام array_push()
// 2. أضف $songToAddBeginning إلى بداية قائمة التشغيل باستخدام array_unshift()
// 3. ابحث عن $songToSearch في قائمة التشغيل المعدلة باستخدام array_search()
// 4. قم بتخزين النتيجة وطباعة إما الموقع أو "Song not found"
// طباعة النتيجة
echo $result;
?>جميع دروس Logic & Flow
1الدوال المتقدمة
الدوال المجهولةالـ Closures وكلمة 'use'دوال السهمدوال الـ Callbackاستخدام 'call_user_func'دوال المتغيراتالتمرير بالمرجعالدوال العوديةمراجعة: مزيج الدوال4المصفوفات متعددة الأبعاد
إنشاء مصفوفة ثنائية الأبعادالوصول إلى عناصر المصفوفة ثنائية الأبعادتعديل عناصر المصفوفة ثنائية الأبعادالتكرار باستخدام الحلقات المتداخلةالمصفوفات الترابطية ثنائية الأبعادمراجعة: تمرين الشبكة البسيطة2معالجة المصفوفات المتقدمة
الإضافة باستخدام 'array_push'الحذف باستخدام 'array_pop'الإضافة باستخدام 'array_unshift'الحذف باستخدام 'array_shift'دمج المصفوفات المفهرسةدمج المصفوفات الترابطيةالاستخراج باستخدام 'array_slice'القيم باستخدام 'in_array'المفاتيح باستخدام 'array_search'مراجعة: تمرين قائمة التشغيل3ترتيب المصفوفات
ترتيب المصفوفات المفهرسة تصاعدياًترتيب المصفوفات المفهرسة تنازلياًترتيب المصفوفات الترابطية حسب القيمةترتيب المصفوفات الترابطية حسب المفتاحالترتيب بالترتيب الطبيعيالترتيب المخصص باستخدام 'usort'مراجعة: ترتيب لوحة المتصدرين