Menu
Coddy logo textTech

Wyświetlanie odliczania

Część sekcji Logika i przepływ programu ścieżki PHP w Coddy. Lekcja 64 z 68.

challenge icon

Wyzwanie

Łatwy

Otrzymasz trzy dane wejściowe: ciąg JSON reprezentujący tablicę wydarzeń, ciąg daty w formacie YYYY-MM-DD reprezentujący dzisiejszą datę oraz nazwę wydarzenia, dla którego należy wyświetlić odliczanie.

Pierwsze dane wejściowe będą ciągiem JSON w tym formacie: [{"name":"Team Meeting","date":"2024-04-15","location":"Office"},{"name":"Conference","date":"2024-05-20","location":"Convention Center"}]

Drugie dane wejściowe będą ciągiem daty w tym formacie: 2024-04-01

Trzecie dane wejściowe będą nazwą wydarzenia w tym formacie: Team Meeting

Wczytaj wszystkie trzy dane wejściowe i zdekoduj ciąg JSON do tablicy wydarzeń. Znajdź wydarzenie, którego nazwa jest zgodna z podaną nazwą. Utwórz obiekty DateTime zarówno dla dzisiejszej daty, jak i daty wydarzenia.

Oblicz różnicę między datą wydarzenia a dzisiejszą datą. Użyj metody diff() na obiekcie DateTime reprezentującym dzisiejszą datę, przekazując obiekt DateTime reprezentujący datę wydarzenia jako parametr. Zwróci to obiekt DateInterval. Odczytaj właściwość days tego obiektu, aby uzyskać liczbę dni między tymi dwiema datami.

Wypisz odliczanie w następującym formacie:

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

Jeśli wydarzenia nie ma w tablicy, wypisz: Event not found

Format danych wejściowych:

  • Pierwszy wiersz: ciąg JSON reprezentujący tablicę wydarzeń z kluczami name, date i location
  • Drugi wiersz: ciąg daty w formacie YYYY-MM-DD reprezentujący dzisiejszą datę (przykład: 2024-04-01)
  • Trzeci wiersz: nazwa wydarzenia, dla którego należy wyświetlić odliczanie (przykład: Team Meeting)

Oczekiwany wynik: Jeden wiersz pokazujący odliczanie w formacie: Countdown to [event name]: [number of days] days albo Event not found, jeśli wydarzenie nie istnieje

Spróbuj swoich sił

<?php
// Wczytaj dane wejściowe
$jsonString = trim(fgets(STDIN));
$todayDate = trim(fgets(STDIN));
$eventName = trim(fgets(STDIN));

// Zdekoduj ciąg JSON do tablicy events
$events = (array)json_decode($jsonString, true);

// TODO: Napisz swój kod poniżej
// Znajdź wydarzenie o podanej nazwie
// Utwórz obiekty DateTime dla dzisiejszej daty i daty wydarzenia
// Oblicz różnicę za pomocą metody diff()
// Odczytaj właściwość days obiektu DateInterval

// Wyświetl wynik
echo $result;
?>

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator PHP online