Anstehende Events auflisten
Teil des Abschnitts Logik & Ablauf der PHP-Journey von Coddy — Lektion 61 von 68.
Aufgabe
EinfachSie erhalten zwei Eingaben: einen JSON-String, der das vorhandene Array von Veranstaltungen darstellt, und einen Datums-String im Format YYYY-MM-DD, der das heutige Datum darstellt.
Die erste Eingabe ist ein JSON-String in diesem 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"}]
Die zweite Eingabe ist ein Datums-String in diesem Format: 2024-04-01
Lesen Sie beide Eingaben ein und dekodieren Sie den JSON-String in ein Array von Veranstaltungen. Erstellen Sie zwei DateTime-Objekte: eines für das heutige Datum (unter Verwendung der zweiten Eingabe) und eines für das Datum jeder Veranstaltung, während Sie die Veranstaltungen durchlaufen.
Filtern und zeigen Sie nur die anstehenden Veranstaltungen an – Veranstaltungen, deren Datum größer oder gleich dem heutigen Datum ist. Drucken Sie jede anstehende Veranstaltung im folgenden Format aus:
Upcoming: [name] on [date] at [location]
Drucken Sie jede anstehende Veranstaltung in einer separaten Zeile aus, in der Reihenfolge, in der sie im Array erscheinen. Wenn das Datum einer Veranstaltung vor dem heutigen Datum liegt, drucken Sie sie nicht aus.
Eingabeformat:
- Erste Zeile: Ein JSON-String, der das Array der Veranstaltungen mit den Schlüsseln
name,dateundlocationdarstellt - Zweite Zeile: Ein Datums-String im Format YYYY-MM-DD, der das heutige Datum darstellt (Beispiel:
2024-04-01)
Erwartete Ausgabe: Jede anstehende Veranstaltung wird in einer separaten Zeile im folgenden Format ausgegeben: Upcoming: [name] on [date] at [location]
Probier es selbst
<?php
// Den JSON-String der Ereignisse lesen
$eventsJson = fgets(STDIN);
$events = (array)json_decode($eventsJson, true);
// Das heutige Datum lesen
$todayDate = trim(fgets(STDIN));
// TODO: Schreiben Sie Ihren Code unten
// DateTime-Objekt für das heutige Datum erstellen
// Ereignisse durchlaufen und Daten vergleichen
// Anstehende Ereignisse im erforderlichen Format ausgeben
?>Alle Lektionen in Logik & Ablauf
1Fortgeschrittene Funktionen
Anonyme FunktionenClosures und 'use'Arrow FunctionsCallback-FunktionenVerwendung von 'call_user_func'VariablenfunktionenReferenzübergabeRekursive FunktionenRückblick: Funktions-Medley4Mehrdimensionale Arrays
Ein 2D-Array erstellenZugriff auf 2D-Array-ElementeÄndern von 2D-Array-ElementenIterieren mit verschachtelten Schleifen2D assoziative ArraysZusammenfassung: Einfache Gitter-Übung2Fortgeschrittene Array-Manipulationen
Hinzufügen mit 'array_push'Entfernen mit 'array_pop'Hinzufügen mit 'array_unshift'Entfernen mit 'array_shift'Indizierte Arrays zusammenführenAssoziative Arrays zusammenführenExtrahieren mit 'array_slice'Werte mit 'in_array'Schlüssel mit 'array_search'Rückblick: Playlist-Übung3Arrays sortieren
Indizierte Arrays aufsteigend sortierenIndizierte Arrays absteigend sortierenAssoziative Arrays nach Wert sortierenAssoziative Arrays nach Schlüssel sortierenNatürliche SortierungBenutzerdefiniertes Sortieren mit 'usort'Recap: Leaderboard-Sortierung6Array-Funktionen höherer Ordnung
Transformieren mit 'array_map''array_map' mit benutzerdefinierten FunktionenFiltern mit 'array_filter''array_filter' mit benutzerdefinierten FunktionenReduzieren mit 'array_reduce'Durchlaufen mit 'array_walk'Zusammenfassung: Datenverarbeitung9Event-Planer
Event-DatenEin neues Event hinzufügen