Récapitulatif : Mélange de fonctions
Fait partie de la section Logique & Flux du Journey PHP de Coddy — leçon 9 sur 68.
Défi
FacileCréez un système de traitement de texte qui combine plusieurs concepts de fonctions que vous avez appris. Vous devrez implémenter plusieurs fonctions et les utiliser ensemble pour traiter des données textuelles.
Tout d'abord, créez une fonction anonyme stockée dans une variable nommée $reverseText qui prend une chaîne de caractères et la retourne inversée.
Ensuite, créez une fonction régulière nommée countVowels qui prend une chaîne de caractères et retourne le nombre de voyelles (a, e, i, o, u - insensible à la casse) qu'elle contient.
Ensuite, créez une fonction nommée processText qui accepte trois paramètres : une chaîne de texte, un nom d'opération et une fonction de rappel (callback). Cette fonction doit :
- Si l'opération est
"reverse", appliquer le callback pour inverser le texte et retourner le résultat - Si l'opération est
"vowels", appliquer le callback pour compter les voyelles et retourner le compte - Si l'opération est
"length", retourner la longueur du texte
Vous recevrez deux entrées : le nom de l'opération ("reverse", "vowels", ou "length") et le texte à traiter. Lisez les deux entrées, déterminez quelle fonction utiliser en fonction de l'opération, appelez processText avec les paramètres appropriés, et affichez le résultat.
Format d'entrée : Deux lignes - la première ligne contient le nom de l'opération, la deuxième ligne contient le texte à traiter
Sortie attendue : Le résultat basé sur l'opération - le texte inversé pour "reverse", le nombre de voyelles pour "vowels", ou la longueur du texte pour "length"
Essayez vous-même
<?php
// Lire l'entrée
$operation = trim(fgets(STDIN));
$text = trim(fgets(STDIN));
// TODO: Écrivez votre code ci-dessous
// Créer la fonction anonyme $reverseText
// Créer la fonction countVowels
// Créer la fonction processText
// Appeler processText avec les paramètres appropriés en fonction de l'opération
// Afficher le résultat
echo $result;
?>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 simple2Manipulations 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 classement