Menu
Coddy logo textTech

Herausforderung: Filter für eindeutige Elemente

Teil des Abschnitts Logik & Ablauf der PHP-Journey von Coddy. Lektion 68 von 68.

challenge icon

Aufgabe

Einfach

Sie 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

Übe selbstständig: Online-PHP-Compiler