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

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

جزء من قسم Logic & Flow في رحلة 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 لتاريخ اليوم
// التكرار عبر الأحداث ومقارنة التواريخ
// طباعة الأحداث القادمة بالتنسيق المطلوب

?>

جميع دروس Logic & Flow