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

عرض عد تنازلي

جزء من قسم Logic & Flow في رحلة PHP على Coddy — الدرس 64 من 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"}]

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

المدخل الثالث سيكون اسم الحدث بهذا التنسيق: Team Meeting

اقرأ المدخلات الثلاثة وفك تشفير سلسلة JSON إلى مصفوفة أحداث. ابحث عن الحدث الذي يطابق اسم الحدث المقدم. أنشئ كائنات DateTime لكل من تاريخ اليوم وتاريخ الحدث.

احسب الفرق بين تاريخ الحدث وتاريخ اليوم. استخدم التابع diff() على كائن DateTime الخاص بتاريخ اليوم، مع تمرير كائن DateTime الخاص بالحدث كمعامل. سيعيد هذا كائن DateInterval. قم بالوصول إلى خاصية days لهذا الكائن للحصول على عدد الأيام بين التاريخين.

اطبع العد التنازلي بالتنسيق التالي:

Countdown to [event name]: [number of days] days

إذا لم يتم العثور على الحدث في المصفوفة، اطبع: Event not found

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

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

المخرجات المتوقعة: سطر واحد يظهر العد التنازلي بالتنسيق: Countdown to [event name]: [number of days] days، أو Event not found إذا لم يكن الحدث موجوداً

جرّب بنفسك

<?php
// قراءة المدخلات
$jsonString = trim(fgets(STDIN));
$todayDate = trim(fgets(STDIN));
$eventName = trim(fgets(STDIN));

// تحويل نص JSON إلى مصفوفة أحداث
$events = (array)json_decode($jsonString, true);

// TODO: اكتب كودك أدناه
// ابحث عن الحدث الذي يطابق اسم الحدث المقدم
// قم بإنشاء كائنات DateTime لتاريخ اليوم وتاريخ الحدث
// احسب الفرق باستخدام طريقة diff()
// قم بالوصول إلى خاصية الأيام (days) من كائن DateInterval

// طباعة النتيجة
echo $result;
?>

جميع دروس Logic & Flow