Défi : Filtre d'éléments uniques
Fait partie de la section Logique & Flux du Journey PHP de Coddy. Leçon 68 sur 68.
Défi
FacileVous 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
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 simple7Travailler avec les dates et les heures
La fonction 'date()'Timestamps Unix avec 'time()'Introduction à l'objet DateTimeFormater les objets DateTimeModifier les objets DateTimeRécapitulatif : Calculs de dates10Défis finaux
Défi : Vérificateur de palindromeDéfi : Fréquence des caractèresDéfi : Total du panierDéfi : Filtre d'éléments uniques2Manipulations 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 classementEntraînez-vous par vous-même : Compilateur PHP en ligne