Menu
Coddy logo textTech

今後のイベント一覧

CoddyのPHPジャーニー「論理とフロー」セクションの一部 — レッスン 61/68。

challenge icon

チャレンジ

簡単

2つの入力を受け取ります。1つは既存のイベント配列を表すJSON文字列、もう1つは今日の付を表す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"}]

2番目の入力は、次の形式の日付文字列です:2024-04-01

両方の入力を読み込み、JSON文字列をイベント配列にデコードしてください。2つの DateTime オブジェクトを作成します。1つは今日の付(2番目の入力を使用)用、もう1つはイベントをループ処理する際の各イベントの日付用です。

今後のイベント、つまり日付が今日以降(今日を含む)のイベントのみをフィルタリングして表示してください。各今後のイベントについて、次の形式で出力してください:

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

各今後のイベントを、配列に表示されている順序で、個別の行に出力してください。イベントの日付が今日より前の場合は、出力しないでください。

入力形式:

  • 1行目:namedatelocation というキーを持つイベント配列を表すJSON文字列
  • 2行目:今日の日付を表す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オブジェクトを作成する
// イベントをループして日付を比較する
// 必要な形式で今後のイベントを出力する

?>

論理とフローのすべてのレッスン