Menu
Coddy logo textTech

Défi : Filtre d'éléments uniques

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

challenge icon

Défi

Facile

Vous recevrez une seule entrée : une chaîne de caractères d'éléments séparés par des virgules pouvant contenir des doublons.

L'entrée sera une chaîne de caractères au format suivant : apple,banana,apple,orange,banana,grape,apple

Lisez la chaîne d'entrée et divisez-la en un tableau d'éléments. Utilisez array_filter() avec une fonction de rappel (callback) personnalisée pour supprimer les éléments en double, en ne conservant que la première occurrence de chaque élément unique.

Pour accomplir cela, créez une fonction de rappel qui suit les éléments déjà rencontrés. Le rappel doit retourner true pour les éléments rencontrés pour la première fois et false pour les doublons. Vous pouvez utiliser une variable en dehors du rappel et la capturer par référence avec use (&$seen) afin que les mises à jour persistent à travers les appels que array_filter effectue vers le rappel.

Après le filtrage, affichez chaque élément unique sur une ligne séparée dans l'ordre de leur première apparition dans l'entrée d'origine.

Format d'entrée :

  • Une seule ligne contenant des éléments séparés par des virgules (exemple : apple,banana,apple,orange)

Résultat attendu : Chaque élément unique affiché sur une ligne séparée, dans l'ordre de leur première apparition dans l'entrée

Essayez vous-même

<?php
// Lire l'entrée
$input = trim(fgets(STDIN));

// Diviser l'entrée en un tableau
$items = explode(',', $input);

// TODO: Écrivez votre code ci-dessous
// Utiliser array_filter() avec une fonction de rappel personnalisée pour supprimer les doublons


// Afficher chaque élément unique sur une ligne séparée

?>

Toutes les leçons de Logique & Flux

Entraînez-vous par vous-même : Compilateur PHP en ligne