Итоги: Упражнение «Плейлист»
Часть раздела Логика и управление потоком путешествия по PHP на Coddy — урок 19 из 68.
Задание
ЛегкоВы получите четыре входных значения: начальный массив плейлиста в формате JSON, песню для добавления в конец, песню для добавления в начало и название песни для поиска. Прочитайте все четыре входных значения, преобразуйте строку JSON в массив, добавьте вторую песню в конец с помощью array_push(), добавьте третью песню в начало с помощью array_unshift(), затем используйте array_search(), чтобы найти позицию четвертой песни в измененном плейлисте. Выведите позицию, если она найдена, или выведите "Song not found", если она отсутствует в плейлисте.
Формат входных данных: Четыре строки — первая строка содержит JSON-массив песен (например: ["Song A","Song B","Song C"]), вторая строка содержит название песни для добавления в конец, третья строка содержит название песни для добавления в начало, четвертая строка содержит название песни для поиска
Ожидаемый результат: Либо числовой индекс искомой песни (начиная с 0) в измененном плейлисте, либо текст "Song not found", если песня не существует
Попробуйте сами
<?php
// Чтение всех четырех входных данных
$playlistJson = trim(fgets(STDIN));
$songToAddEnd = trim(fgets(STDIN));
$songToAddBeginning = trim(fgets(STDIN));
$songToSearch = trim(fgets(STDIN));
// Преобразование JSON-строки в массив
$playlist = (array)json_decode($playlistJson, true);
// TODO: Напишите ваш код ниже
// 1. Добавьте $songToAddEnd в конец плейлиста, используя array_push()
// 2. Добавьте $songToAddBeginning в начало плейлиста, используя array_unshift()
// 3. Найдите $songToSearch в измененном плейлисте, используя array_search()
// 4. Сохраните результат и выведите либо позицию, либо "Song not found"
// Вывод результата
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'Итоги: Сортировка таблицы лидеров