Menu
Coddy logo textTech

הצגת אירועים קרובים

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-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 אונליין