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