Итоги: ассорти из функций
Часть раздела Логика и управление потоком путешествия по PHP на Coddy — урок 9 из 68.
Задание
ЛегкоСоздайте систему обработки текста, которая объединяет несколько изученных вами концепций функций. Вам нужно будет реализовать несколько функций и использовать их вместе для обработки текстовых данных.
Во-первых, создайте анонимную функцию, сохраненную в переменной с именем $reverseText, которая принимает строку и возвращает ее в перевернутом виде.
Затем создайте обычную функцию с именем countVowels, которая принимает строку и возвращает количество гласных (a, e, i, o, u — без учета регистра) в ней.
Затем создайте функцию с именем processText, которая принимает три параметра: текстовую строку, имя операции и функцию обратного вызова (callback). Эта функция должна:
- Если операция —
"reverse", применить callback для инвертирования текста и вернуть результат - Если операция —
"vowels", применить callback для подсчета гласных и вернуть их количество - Если операция —
"length", вернуть длину текста
Вы получите два входных значения: имя операции ("reverse", "vowels" или "length") и текст для обработки. Прочитайте оба входных значения, определите, какую функцию использовать в зависимости от операции, вызовите processText с соответствующими параметрами и выведите результат.
Формат входных данных: Две строки — первая строка содержит имя операции, вторая строка содержит текст для обработки
Ожидаемый результат: Результат в зависимости от операции — перевернутый текст для "reverse", количество гласных для "vowels" или длина текста для "length"
Попробуйте сами
<?php
// Чтение входных данных
$operation = trim(fgets(STDIN));
$text = trim(fgets(STDIN));
// TODO: Напишите ваш код ниже
// Создайте анонимную функцию $reverseText
// Создайте функцию countVowels
// Создайте функцию processText
// Вызовите processText с соответствующими параметрами в зависимости от операции
// Вывод результата
echo $result;
?>Все уроки раздела Логика и управление потоком
1Продвинутые функции
Анонимные функцииЗамыкания и 'use'Стрелочные функцииCallback-функцииИспользование 'call_user_func'Функции переменныхПередача по ссылкеРекурсивные функцииИтоги: ассорти из функций4Многомерные массивы
Создание 2D-массиваДоступ к элементам 2D-массиваИзменение элементов 2D-массиваИтерация с вложенными цикламиДвумерные ассоциативные массивыИтоги: Упражнение «Простая сетка»2Продвинутая работа с массивами
Добавление с помощью 'array_push'Удаление с помощью 'array_pop'Добавление с помощью 'array_unshift'Удаление с помощью 'array_shift'Слияние индексных массивовСлияние ассоциативных массивовИзвлечение с помощью 'array_slice'Поиск значений с 'in_array'Поиск ключей с 'array_search'Итоги: Упражнение «Плейлист»3Сортировка массивов
Сортировка индексных массивов по возрастаниюСортировка индексных массивов по убываниюСортировка ассоциативных массивов по значениюСортировка ассоциативных массивов по ключуСортировка в естественном порядкеПользовательская сортировка с помощью 'usort'Итоги: Сортировка таблицы лидеров