Menu
Coddy logo textTech

Afficher un compte à rebours

Fait partie de la section Logique & Flux du Journey PHP de Coddy — leçon 64 sur 68.

challenge icon

Défi

Facile

Vous recevrez trois entrées : une chaîne JSON représentant un tableau d'événements, une chaîne de date au format YYYY-MM-DD représentant la date d'aujourd'hui, et un nom d'événement pour lequel afficher le compte à rebours.

La première entrée sera une chaîne JSON dans ce format : [{"name":"Team Meeting","date":"2024-04-15","location":"Office"},{"name":"Conference","date":"2024-05-20","location":"Convention Center"}]

La deuxième entrée sera une chaîne de date dans ce format : 2024-04-01

La troisième entrée sera un nom d'événement dans ce format : Team Meeting

Lisez les trois entrées et décodez la chaîne JSON en un tableau d'événements. Trouvez l'événement qui correspond au nom d'événement fourni. Créez des objets DateTime pour la date d'aujourd'hui et pour la date de l'événement.

Calculez la différence entre la date de l'événement et la date d'aujourd'hui. Utilisez la méthode diff() sur l'objet DateTime d'aujourd'hui, en passant l'objet DateTime de l'événement en paramètre. Cela retourne un objet DateInterval. Accédez à la propriété days de cet objet pour obtenir le nombre de jours entre les deux dates.

Affichez le compte à rebours au format suivant :

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

Si l'événement n'est pas trouvé dans le tableau, affichez : Event not found

Format d'entrée :

  • Première ligne : Une chaîne JSON représentant le tableau d'événements avec les clés name, date, et location
  • Deuxième ligne : Une chaîne de date au format YYYY-MM-DD représentant la date d'aujourd'hui (exemple : 2024-04-01)
  • Troisième ligne : Un nom d'événement pour lequel afficher le compte à rebours (exemple : Team Meeting)

Sortie attendue : Une seule ligne affichant le compte à rebours au format : Countdown to [event name]: [number of days] days, ou Event not found si l'événement n'existe pas

Essayez vous-même

<?php
// Lire les entrées
$jsonString = trim(fgets(STDIN));
$todayDate = trim(fgets(STDIN));
$eventName = trim(fgets(STDIN));

// Décoder la chaîne JSON en un tableau d'événements
$events = (array)json_decode($jsonString, true);

// À FAIRE : Écrivez votre code ci-dessous
// Trouver l'événement qui correspond au nom de l'événement fourni
// Créer des objets DateTime pour la date d'aujourd'hui et la date de l'événement
// Calculer la différence en utilisant la méthode diff()
// Accéder à la propriété days de l'objet DateInterval

// Afficher le résultat
echo $result;
?>

Toutes les leçons de Logique & Flux