مراجعة: تمرين الشبكة البسيطة
جزء من قسم Logic & Flow في رحلة PHP على Coddy — الدرس 32 من 68.
التحدي
سهلستتلقى مدخلاً واحداً: مصفوفة ثنائية الأبعاد تمثل شبكة لعبة بسيطة بتنسيق JSON. تحتوي الشبكة على أرقام تمثل قيم البلاطات المختلفة. اقرأ المدخلات، وقم بتحويل سلسلة JSON إلى مصفوفة ثنائية الأبعاد، وقم بإجراء العمليات التالية:
- احسب واطبع مجموع كل القيم في الشبكة
- ابحث عن القيمة القصوى في الشبكة واطبعها
- قم بعدّ وطباعة عدد البلاطات التي تزيد قيمتها عن 5
- اطبع القيمة الموجودة في الصف 1، العمود 2 (باستخدام فهرسة تبدأ من 0)
اطبع كل نتيجة في سطر منفصل بالترتيب المحدد أعلاه تماماً.
تنسيق المدخلات: سطر واحد يحتوي على مصفوفة JSON تمثل شبكة اللعبة (مثال: [[3,7,2],[5,9,1],[8,4,6]])
المخرجات المتوقعة:
- السطر 1: مجموع كل القيم
- السطر 2: القيمة القصوى
- السطر 3: عدد البلاطات التي تزيد قيمتها عن 5
- السطر 4: القيمة في الصف 1، العمود 2
جرّب بنفسك
<?php
// قراءة مدخلات JSON
$input = trim(fgets(STDIN));
// تحويل نص JSON إلى مصفوفة ثنائية الأبعاد
// هام: استخدم (array) لضمان تحويل المصفوفة بشكل صحيح
$grid = json_decode($input, true);
// TODO: اكتب الكود الخاص بك أدناه
// 1. احسب مجموع كل القيم في الشبكة
// 2. ابحث عن القيمة القصوى في الشبكة
// 3. عد كم عدد المربعات التي قيمتها أكبر من 5
// 4. احصل على القيمة في الصف 1، العمود 2
// طباعة النتائج (واحدة في كل سطر)
// echo $sum . "\n";
// echo $max . "\n";
// echo $count . "\n";
// echo $value . "\n";
?>جميع دروس 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'مراجعة: ترتيب لوحة المتصدرين