Функция explode() и implode()

Тренажер по PHP для пользователей с начальным уровнем подготовки.

Тренажер PHP

В этом уроке мы научимся двум супер-полезным функциям: explode() и implode(). Они как два брата-акробата в мире PHP: один мастерски разбирает строки на кусочки (массив), а другой собирает эти кусочки обратно в единое целое (строку).
Представьте, что у вас есть список покупок в одной строке "молоко,хлеб,яйца". С помощью explode() вы можете мгновенно превратить это в аккуратный массив. А если у вас есть массив с тегами для статьи, implode() поможет склеить их в красивую строку для вывода на сайт.
Эти функции постоянно используются при работе с данными из файлов, баз данных или веб-форм, когда нужно оперировать данными, представленными в виде строки с разделителем. Пройдя этот тренажер, вы научитесь легко манипулировать строковыми данными.

Список тем

Разбиваем строку на массив

id: 39011_task1

У вас есть строка с перечислением фруктов через запятую. Используйте правильную функцию и укажите верный разделитель, чтобы превратить эту строку в массив.

Заполните пропуски
<?php
$items_str = "яблоко,банан,апельсин";
// Преобразуем строку в массив
$items_arr = input1S(input2S, $items_str);

print_r($items_arr);
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Собираем массив в строку

id: 39011_task2

Теперь обратная задача. У вас есть массив тегов. Соберите их в одну строку, где теги будут разделены запятой и пробелом.

Заполните пропуски
<?php
$tags = ['php', 'web', 'developer'];
// Объединяем массив в строку
$tag_string = input1S(input2S, $tags);

echo $tag_string;
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Какой будет результат?

id: 39011_task3

Проанализируйте код. Дан массив слов, который объединяется в строку с помощью функции implode. Что именно выведет этот скрипт? Впишите точный результат в поле ответа.

Что должно получиться?
<?php
$words = ["PHP", "это", "просто"];
echo implode(" ", $words);
?>
Сообщения
Проверить
Показать подсказку

Что будет в массиве?

id: 39011_task4

В коде строка, содержащая данные пользователя, разделенные точкой с запятой. Её обрабатывают функцией explode(). Выберите вариант, который точно отображает содержимое переменной $user_data после выполнения кода.

Выберите правильный вариант ответа
<?php
$csv = "1;John Doe;john.doe@example.com";
$user_data = explode(";", $csv);
print_r($user_data);
?>
Сообщения
Проверить
Показать подсказку

Исправьте ошибку с разделителем

id: 39011_task5

Код пытается получить части даты из строки, но использует неправильный разделитель. В результате скрипт работает некорректно и выдает ошибку. Найдите строку с explode() и исправьте разделитель, чтобы код вывел год.

Найдите ошибку и исправьте
<?php
$date_str = "25-12-2024";
$date_parts = explode("/", $date_str); // Цель: получить массив ['25', '12', '2024']
echo "Год: " . $date_parts[0];
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Соберите вызов функции из банка

id: 39011_task6

Вам дан массив CSS-классов. Используя элементы из "банка", соберите правильный вызов функции, который объединит эти классы в одну строку, пригодную для HTML-атрибута class. Классы должны быть разделены пробелом.

Нужно правильно расставить в пропуски предложенные варианты
<?php
$classes = ['btn', 'btn-primary', 'active'];

// Собираем строку для атрибута class
$class_string = input1S(input2S, input3S);

echo $class_string;
?>
implode
explode
' '
','
$classes
"btn"
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Соберите цепочку преобразований

id: 39011_task7

Соберите из фрагментов рабочий скрипт. Он должен взять строку тегов, разделенных запятыми, преобразовать ее в массив, добавить в начало массива новый тег 'php', а затем соединить все элементы обратно в строку, но уже с разделителем '#'.

Перетяните в правильном порядке строки из одного блока в другой
$new_tags_str = implode('#', $tags_arr);
echo $new_tags_str;
$tags_arr = explode(',', $tags_str);
implode(',', $tags_arr);
array_unshift($tags_arr, 'php');
$tags_str = "web,dev,html";
$tags_arr = explode('#', $tags_str);
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Сопоставьте функцию и ее назначение

id: 39011_task8

Сопоставьте название функции в правом столбце с ее описанием в левом. Перетащите элементы правой колонки, чтобы они соответствовали описаниям слева.

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
Разбивает строку на массив по разделителю
Объединяет элементы массива в строку
Псевдоним (другое имя) для функции implode()
Преобразует строку в массив ее символов
join()
str_split()
implode()
explode()
Сообщения
Проверить
Показать подсказку

Explode с ограничением

id: 39011_

Функция explode() вызвана с третьим аргументом — лимитом. Этот параметр ограничивает количество элементов в результирующем массиве. Проанализируйте код и выберите вариант, который правильно показывает результат.

Выберите правильный вариант ответа
<?php
$data = "user:pass:uid:gid:gecos:home:shell";
// Лимит равен 3
$fields = explode(":", $data, 3);
print_r($fields);
?>
Сообщения
Проверить
Показать подсказку

Неправильный порядок аргументов

id: 39011_task10

В коде перепутаны местами аргументы функции explode(). В текущем виде он вызовет фатальную ошибку. Поменяйте аргументы местами, чтобы скрипт заработал и вывел первый фрукт из списка.

Найдите ошибку и исправьте
<?php
$fruits_str = "apple,orange,banana";
$fruits_arr = explode($fruits_str, ",");
echo $fruits_arr[0];
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку
НайтиКурс.Ру