إضافة طالب جديد
جزء من قسم Logic & Flow في رحلة PHP على Coddy — الدرس 34 من 68.
التحدي
سهلستتلقى مدخلين: كائن JSON يمثل دفتر درجات الطلاب الحالي ومعلومات طالب جديد. يستخدم دفتر الدرجات أسماء الطلاب كمفاتيح، حيث يكون لكل طالب "id" ومصفوفة "grades". يحتوي المدخل الثاني على بيانات الطالب الجديد بالتنسيق: name,id (مثال: Diana,104).
اقرأ كلا المدخلين، وقم بتحويل سلسلة JSON إلى مصفوفة دفتر درجات، وقم بتحليل معلومات الطالب الجديد، وأضف الطالب الجديد إلى دفتر الدرجات مع مصفوفة درجات فارغة، واطبع دفتر الدرجات المحدث باستخدام print_r().
تنسيق المدخلات:
- السطر الأول: كائن JSON يمثل دفتر الدرجات الحالي (مثال:
{"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]}}) - السطر الثاني: معلومات الطالب الجديد بالتنسيق
name,id(مثال:Diana,104)
المخرجات المتوقعة: مصفوفة دفتر الدرجات المحدثة المعروضة باستخدام print_r()، مع إضافة الطالب الجديد بمصفوفة درجات فارغة
جرّب بنفسك
<?php
// قراءة مدخلات JSON لدفتر الدرجات
$gradebookJson = fgets(STDIN);
$gradebook = (array)json_decode($gradebookJson, true);
// قراءة معلومات الطالب الجديد
$newStudentInfo = trim(fgets(STDIN));
// TODO: اكتب كودك أدناه
// تحليل معلومات الطالب الجديد وإضافتها إلى دفتر الدرجات مع مصفوفة درجات فارغة
// إخراج دفتر الدرجات المحدث
print_r($gradebook);
?>جميع دروس 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'مراجعة: تمرين قائمة التشغيل5سجل درجات الطلاب
إعداد المشروع: هيكل البياناتإضافة طالب جديدإضافة درجة لطالبحساب متوسط الطالبإيجاد الطالب المتفوقإنشاء تقرير الدرجات3ترتيب المصفوفات
ترتيب المصفوفات المفهرسة تصاعدياًترتيب المصفوفات المفهرسة تنازلياًترتيب المصفوفات الترابطية حسب القيمةترتيب المصفوفات الترابطية حسب المفتاحالترتيب بالترتيب الطبيعيالترتيب المخصص باستخدام 'usort'مراجعة: ترتيب لوحة المتصدرين