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

عرض الفعاليات القادمة

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

challenge icon

التحدي

سهل

ستتلقى مدخلين: سلسلة JSON تمثل مصفوفة الأحداث الحالية، وسلسلة تاريخ بتنسيق YYYY-MM-DD تمثل تاريخ اليوم.

المدخل الأول سيكون سلسلة JSON بهذا التنسيق: [{"name":"Team Meeting","date":"2024-04-15","location":"Office"},{"name":"Conference","date":"2024-05-20","location":"Convention Center"},{"name":"Workshop","date":"2024-03-10","location":"Library"}]

المدخل الثاني سيكون سلسلة تاريخ بهذا التنسيق: 2024-04-01

اقرأ كلا المدخلين وقم بفك تشفير سلسلة JSON إلى مصفوفة أحداث. قم بإنشاء كائنين من نوع DateTime: أحدهما لتاريخ اليوم (باستخدام المدخل الثاني) والآخر لتاريخ كل حدث أثناء تكرار المرور عبر الأحداث.

قم بتصفية وعرض الأحداث القادمة فقط - الأحداث التي يكون تاريخها أكبر من أو يساوي تاريخ اليوم. لكل حدث قادم، قم بطباعته بالتنسيق التالي:

Upcoming: [name] on [date] at [location]

اطبع كل حدث قادم في سطر منفصل، بالترتيب الذي تظهر به في المصفوفة. إذا كان تاريخ الحدث قبل تاريخ اليوم، فلا تقم بطباعته.

تنسيق المدخلات:

  • السطر الأول: سلسلة JSON تمثل مصفوفة الأحداث مع المفاتيح name و date و location
  • السطر الثاني: سلسلة تاريخ بتنسيق YYYY-MM-DD تمثل تاريخ اليوم (مثال: 2024-04-01)

المخرجات المتوقعة: طباعة كل حدث قادم في سطر منفصل بالتنسيق: Upcoming: [name] on [date] at [location]

جرّب بنفسك

<?php
// قراءة سلسلة JSON للأحداث
$eventsJson = fgets(STDIN);
$events = (array)json_decode($eventsJson, true);

// قراءة تاريخ اليوم
$todayDate = trim(fgets(STDIN));

// TODO: اكتب الكود الخاص بك أدناه
// إنشاء كائن DateTime لتاريخ اليوم
// التكرار عبر الأحداث ومقارنة التواريخ
// طباعة الأحداث القادمة بالتنسيق المطلوب

?>

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

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