Lister les événements à venir
Fait partie de la section Logique & Flux du Journey PHP de Coddy — leçon 61 sur 68.
Défi
FacileVous recevrez deux entrées : une chaîne JSON représentant le tableau des événements existants, et une chaîne de date au format YYYY-MM-DD représentant la date d'aujourd'hui.
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"},{"name":"Workshop","date":"2024-03-10","location":"Library"}]
La deuxième entrée sera une chaîne de date dans ce format : 2024-04-01
Lisez les deux entrées et décodez la chaîne JSON dans un tableau d'événements. Créez deux objets DateTime : un pour la date d'aujourd'hui (en utilisant la deuxième entrée) et un pour la date de chaque événement au fur et à mesure que vous parcourez les événements.
Filtrez et affichez uniquement les événements à venir - les événements dont la date est supérieure ou égale à la date d'aujourd'hui. Pour chaque événement à venir, affichez-le au format suivant :
Upcoming: [name] on [date] at [location]
Affichez chaque événement à venir sur une ligne séparée, dans l'ordre où ils apparaissent dans le tableau. Si la date d'un événement est antérieure à la date d'aujourd'hui, ne l'affichez pas.
Format d'entrée :
- Première ligne : Une chaîne JSON représentant le tableau d'événements avec les clés
name,date, etlocation - Deuxième ligne : Une chaîne de date au format YYYY-MM-DD représentant la date d'aujourd'hui (exemple :
2024-04-01)
Sortie attendue : Chaque événement à venir affiché sur une ligne séparée au format : Upcoming: [name] on [date] at [location]
Essayez vous-même
<?php
// Lire la chaîne JSON des événements
$eventsJson = fgets(STDIN);
$events = (array)json_decode($eventsJson, true);
// Lire la date d'aujourd'hui
$todayDate = trim(fgets(STDIN));
// À FAIRE : Écrivez votre code ci-dessous
// Créer un objet DateTime pour la date d'aujourd'hui
// Parcourir les événements et comparer les dates
// Afficher les événements à venir dans le format requis
?>Toutes les leçons de Logique & Flux
1Fonctions avancées
Fonctions anonymesClosures et 'use'Fonctions fléchéesFonctions de rappelUtilisation de 'call_user_func'Fonctions variablesPassage par référenceFonctions récursivesRécapitulatif : Mélange de fonctions4Tableaux multidimensionnels
Créer un tableau 2DAccéder aux éléments d'un tableau 2DModifier les éléments d'un tableau 2DItérer avec des boucles imbriquéesTableaux associatifs 2DRécapitulatif : Exercice de grille simple2Manipulations avancées de tableaux
Ajouter avec 'array_push'Supprimer avec 'array_pop'Ajouter avec 'array_unshift'Supprimer avec 'array_shift'Fusionner des tableaux indexésFusionner des tableaux associatifsExtraire avec 'array_slice'Valeurs avec 'in_array'Clés avec 'array_search'Récapitulatif : Exercice Playlist3Tri des tableaux
Trier les tableaux indexés par ordre croissantTrier les tableaux indexés par ordre décroissantTrier les tableaux associatifs par valeurTrier les tableaux associatifs par cléTri par ordre naturelTri personnalisé avec 'usort'Récapitulatif : Tri d'un classement6Fonctions de tableau d'ordre supérieur
Transformer avec 'array_map''array_map' avec une fonction personnaliséeFiltrer avec 'array_filter''array_filter' avec une fonction personnaliséeRéduire avec 'array_reduce'Parcourir avec 'array_walk'Récapitulatif : Traitement des données9Planificateur d'événements
Données d'événementAjouter un nouvel événement