Herausforderung: Filter für eindeutige Elemente
Teil des Abschnitts Logik & Ablauf der PHP-Journey von Coddy. Lektion 68 von 68.
Aufgabe
EinfachSie erhalten eine einzelne Eingabe: eine kommagetrennte Zeichenfolge von Elementen, die Duplikate enthalten kann.
Die Eingabe ist eine Zeichenfolge in diesem Format: apple,banana,apple,orange,banana,grape,apple
Lesen Sie die Eingabezeichenfolge ein und teilen Sie diese in ein Array von Elementen auf. Verwenden Sie array_filter() mit einer benutzerdefinierten Callback-Funktion, um doppelte Elemente zu entfernen, wobei nur das erste Vorkommen jedes eindeutigen Elements beibehalten wird.
Um dies zu erreichen, erstellen Sie eine Callback-Funktion, die verfolgt, welche Elemente bereits gesehen wurden. Der Callback sollte true für Elemente zurückgeben, die zum ersten Mal auftreten, und false für Duplikate. Sie können eine Variable außerhalb des Callbacks verwenden und diese per Referenz mit use (&$seen) erfassen, damit Aktualisierungen über die Aufrufe hinweg bestehen bleiben, die array_filter an den Callback richtet.
Geben Sie nach dem Filtern jedes eindeutige Element in einer separaten Zeile in der Reihenfolge aus, in der sie zuerst in der ursprünglichen Eingabe erschienen sind.
Eingabeformat:
- Eine einzelne Zeile mit kommagetrennten Elementen (Beispiel:
apple,banana,apple,orange)
Erwartete Ausgabe: Jedes eindeutige Element wird in einer separaten Zeile ausgegeben, in der Reihenfolge seines ersten Erscheinens in der Eingabe.
Probier es selbst
<?php
// Eingabe lesen
$input = trim(fgets(STDIN));
// Die Eingabe in ein Array aufteilen
$items = explode(',', $input);
// TODO: Schreibe deinen Code unten
// Verwende array_filter() mit einer benutzerdefinierten Callback-Funktion, um Duplikate zu entfernen
// Jedes eindeutige Element in einer separaten Zeile 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-Übung7Arbeiten mit Datum und Uhrzeit
Die 'date()'-FunktionUnix-Timestamps mit 'time()'Einführung in das DateTime-ObjektDateTime-Objekte formatierenDateTime-Objekte ändernZusammenfassung: Datumsberechnungen10Abschließende Herausforderungen
Herausforderung: Palindrom-PrüferHerausforderung: ZeichenhäufigkeitHerausforderung: Warenkorb-GesamtsummeHerausforderung: Filter für eindeutige Elemente2Fortgeschrittene 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-SortierungÜbe selbstständig: Online-PHP-Compiler