Recapitulação: Mix de Funções
Parte da seção Lógica & Fluxo do Journey de PHP da Coddy — lição 9 de 68.
Desafio
FácilCrie um sistema de processamento de texto que combine vários conceitos de funções que você aprendeu. Você precisará implementar várias funções e usá-las juntas para processar dados de texto.
Primeiro, crie uma função anônima armazenada em uma variável chamada $reverseText que recebe uma string e a retorna invertida.
Em seguida, crie uma função regular chamada countVowels que recebe uma string e retorna o número de vogais (a, e, i, o, u - insensível a maiúsculas e minúsculas) nela.
Depois, crie uma função chamada processText que aceita três parâmetros: uma string de texto, um nome de operação e uma função de callback. Esta função deve:
- Se a operação for
"reverse", aplicar o callback para inverter o texto e retornar o resultado - Se a operação for
"vowels", aplicar o callback para contar as vogais e retornar a contagem - Se a operação for
"length", retornar o comprimento do texto
Você receberá duas entradas: o nome da operação ("reverse", "vowels", ou "length") e o texto a ser processado. Leia ambas as entradas, determine qual função usar com base na operação, chame processText com os parâmetros apropriados e imprima o resultado.
Formato de entrada: Duas linhas - a primeira linha contém o nome da operação, a segunda linha contém o texto a ser processado
Saída esperada: O resultado baseado na operação - texto invertido para "reverse", contagem de vogais para "vowels", ou comprimento do texto para "length"
Experimente você mesmo
<?php
// Ler a entrada
$operation = trim(fgets(STDIN));
$text = trim(fgets(STDIN));
// TODO: Escreva seu código abaixo
// Criar a função anônima $reverseText
// Criar a função countVowels
// Criar a função processText
// Chamar processText com os parâmetros apropriados baseados na operação
// Exibir o resultado
echo $result;
?>Todas as lições de Lógica & Fluxo
1Funções Avançadas
Funções AnônimasClosures e 'use'Arrow FunctionsFunções de CallbackUsando 'call_user_func'Funções VariáveisPassagem por ReferênciaFunções RecursivasRecapitulação: Mix de Funções4Arrays Multidimensionais
Criando um Array 2DAcessando Elementos de um Array 2DModificando Elementos de um Array 2DIterando com Loops AninhadosArrays Associativos 2DRecapitulação: Exercício de Grade Simples2Manipulações Avançadas de Arrays
Adicionando com 'array_push'Removendo com 'array_pop'Adicionando com 'array_unshift'Removendo com 'array_shift'Mesclando Arrays IndexadosMesclando Arrays AssociativosExtraindo com 'array_slice'Valores com 'in_array'Chaves com 'array_search'Recapitulação: Exercício de Playlist3Ordenação de Arrays
Ordenar Arrays Indexados (Crescente)Ordenar Arrays Indexados (Decrescente)Ordenar Arrays Associativos por ValorOrdenar Arrays Associativos por ChaveOrdenação por Ordem NaturalOrdenação Personalizada com 'usort'Recapitulação: Ordenação de Leaderboard