Конкатенация, или объединение строк, — это одна из самых частых операций в PHP. Она нужна, чтобы собирать из частей динамические сообщения, генерировать HTML-код, формировать URL-адреса и многое другое. В PHP для этого есть специальный оператор.
В этом уроке мы изучим основной оператор конкатенации — точку (`.`), а также его сокращенную форму для присваивания — (`.=`). Вы научитесь соединять как простые строки, так и переменные, а также разберетесь, что происходит при попытке объединить строку с данными другого типа, например, с числом или null.
Задания построены по принципу "от простого к сложному": от вставки нужного оператора до исправления ошибок в коде и предсказания результата выполнения сложных выражений.
- Модуль 1: Основы синтаксиса PHP
- Модуль 2: Переменные и типы данных
- Модуль 3: Операторы
- Модуль 4: Условные конструкции
- Модуль 5: Циклы
- Модуль 6: Массивы
- Индексированные массивы.
- Ассоциативные массивы.
- Многомерные массивы.
- Добавление элементов в массив.
- Удаление элементов из массива.
- Функция count().
- Функция array_push() и array_pop().
- Функция array_shift() и array_unshift().
- Функция array_merge().
- Функция array_slice().
- Функция array_splice().
- Функция in_array().
- Функция array_search().
- Функция array_keys() и array_values().
- Функция array_unique().
- Функция array_reverse().
- Сортировка: sort(), rsort().
- Сортировка: asort(), arsort().
- Сортировка: ksort(), krsort().
- Функция array_map().
- Функция array_filter().
- Функция array_reduce().
- Функция array_walk().
- Функция array_column().
- Деструктуризация массивов.
- Модуль 7: Функции
- Объявление функций.
- Вызов функций.
- Параметры функций.
- Возврат значений return.
- Значения параметров по умолчанию.
- Передача по значению.
- Передача по ссылке.
- Переменное количество аргументов.
- Оператор распаковки ....
- Типизация параметров.
- Типизация возвращаемых значений.
- Nullable типы.
- Union типы (PHP 8).
- Именованные аргументы (PHP 8).
- Анонимные функции.
- Стрелочные функции.
- Замыкания и use.
- Рекурсивные функции.
- Глобальные переменные в функциях.
- Статические переменные в функциях.
- Модуль 8: Работа со строками
- Одинарные и двойные кавычки.
- Экранирование символов.
- Heredoc и Nowdoc синтаксис.
- Функция strlen().
- Функция substr().
- Функция str_replace().
- Функция strpos() и strrpos().
- Функция explode() и implode().
- Функция trim(), ltrim(), rtrim().
- Функция strtolower() и strtoupper().
- Функция ucfirst() и ucwords().
- Функция str_repeat().
- Модуль 9: Суперглобальные переменные
- Модуль 10: Работа с формами
- Модуль 11: Работа с файлами
- Модуль 12: Дата и время
- Модуль 13: Регулярные выражения
- Модуль 14: Сессии и Cookie
- Модуль 15: Include и Require
- Модуль 16: Объектно-ориентированное программирование
- Модуль 17: Пространства имен
- Модуль 18: Обработка ошибок и исключений
- Модуль 19: Работа с JSON и XML
- Модуль 20: Работа с базами данных MySQLi
- Модуль 21: PDO - PHP Data Objects
- Модуль 22: Composer и зависимости
- Модуль 23: cURL и HTTP запросы
- Модуль 24: REST API
- Модуль 25: Безопасность
- Модуль 26: Генераторы и итераторы
- Модуль 27: Reflection API
- Модуль 28: Работа с изображениями
- Модуль 29: Отправка email
- Модуль 30: Паттерны проектирования
- Модуль 31: Тестирование
- Модуль 32: Продвинутые возможности PHP 8+
Базовая конкатенация
Соедините две переменные, содержащие строки, с помощью оператора конкатенации. Вставьте недостающий символ в код, чтобы получить одну общую строку.
$part1 = "Hello, ";
$part2 = "World!";
$greeting = $part1 input1S $part2;
echo $greeting;Предскажите результат объединения
Проанализируйте код, в котором соединяются три части: приветствие, имя и восклицательный знак. Какой именно текст будет выведен на экран в результате работы этого скрипта? Введите получившуюся строку.
$greeting = "Добро пожаловать,";
$name = "Алекс";
echo $greeting . " " . $name . "!";Ошибка: сложение вместо конкатенации
Новички в PHP часто путают оператор сложения чисел (`+`) с оператором конкатенации строк. В этом коде допущена именно такая ошибка. Найдите и исправьте строку, чтобы вместо числа (результата неявного преобразования типов) вывелось полное имя.
<?php$firstName = "Иван";$lastName = "Петров";echo $firstName + " " + $lastName;?>Соберите скрипт для вывода ФИО
Соберите из фрагментов работающий скрипт. Он должен объявить переменные для имени и фамилии, затем объединить их в одну переменную `$fullName` через пробел и вывести на экран. Некоторые фрагменты являются лишними или содержат ошибки.
<?php$firstName = "Анна";$lastName = "Сидорова";$fullName = $firstName . " " . $lastName;echo $fullName;$fullName = $firstName + $lastName;echo $firstName;Оператор присваивания с конкатенацией
Оператор `.=` — это сокращенная запись, которая добавляет строку справа к значению переменной слева. Проанализируйте, как изменяется переменная `$text` на каждом шаге, и выберите, какой будет её итоговое значение.
$text = "Start: ";
$text .= "middle, ";
$text .= "end.";
echo $text;Составление URL-адреса
Соберите полный и корректный URL-адрес из частей, используя элементы из банка. Вам нужно правильно вставить разделители между схемой, доменом и путем.
$scheme = "https";
$domain = "example.com";
$path = "profile";
$url = $scheme . input1S . $domain . input2S . $path;
echo $url;Конкатенация с числом
PHP автоматически преобразует числа в строки при конкатенации. Заполните пропуски операторами конкатенации, чтобы собрать фразу "Товару с ID 42 присвоен статус 'доставлен'." из переменных разных типов.
$itemId = 42;
$status = "доставлен";
$logMessage = "Товару с ID " input1S $itemId input2S " присвоен статус '" input3S $status input4S "'.";
echo $logMessage;Конкатенация со значением null
Что произойдет, если попытаться "приклеить" к строке значение `null`? PHP выполнит неявное преобразование типа. Укажите, какой именно текст выведет на экран этот код. Будьте внимательны к пробелам.
$user = null;
echo "Имя пользователя: " . $user;