В PHP строки — это не просто текст. Иногда нужно вставить в строку символ, у которого есть специальное значение, например, перенос на новую строку, знак доллара или даже саму кавычку. Для этого существует механизм экранирования — использование обратной косой черты (`\`). В этих заданиях мы разберемся, как и когда его применять. Вы научитесь форматировать текст, вставлять спецсимволы и избегать частых ошибок при работе с путями к файлам и переменными внутри строк. От простых переносов строк до хитрых различий между одинарными и двойными кавычками — пройдем все основные моменты.
- Модуль 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+
Добавление переноса строки
В коде необходимо вывести две фразы на разных строках. Вставьте в строку специальный символ, который перенесет "Вторая строка" на новую строку при выводе.
<?php
echo "Первая строкаinput1SВторая строка";
?>Как работает табуляция и перенос?
Проанализируйте код, в котором используются символы табуляции и переноса строки. Выберите вариант, который в точности соответствует тому, что будет выведено на экран.
<?php
echo "Список:\n\t- Пункт 1\n\t- Пункт 2";
?>Ошибка в кавычках
В коде допущена синтаксическая ошибка: попытка использовать двойную кавычку внутри строки, уже обрамленной двойными кавычками, приводит к преждевременному завершению строки. Исправьте строку с переменной `$quote`, чтобы код стал рабочим.
<?php$quote = "Шекспир писал: "Быть или не быть?"";echo $quote;?>Пути к файлам и цены
Заполните пропуски, чтобы правильно сформировать строку с путем к файлу в Windows и строку с ценой в долларах. Помните, что символы `\` и `$` являются специальными в двойных кавычках.
<?php
// Нужно вывести путь и цену
$path = "C:input1SUsersinput2SGuest";
$price = "Цена товара: input3S25";
echo $path . "\n" . $price;
?>Сопоставьте символ и его значение
Каждая управляющая последовательность в PHP имеет свое назначение. Сопоставьте символы из правого столбца с их описаниями в левом, чтобы восстановить соответствие.
\t\\\n\$\"Что окажется в строке?
Внимательно посмотрите на код, в котором используется строка в одинарных кавычках. Какой именно текст будет выведен в результате его выполнения? Введите точный результат в поле ответа.
<?php
echo 'Это первая строка\nА это всё ещё та же строка.';
?>Исправьте вывод на несколько строк
Код должен выводить две фразы на разных строках, но сейчас он выводит `\n` как обычный текст, потому что используются одинарные кавычки. Исправьте одну строку в коде, чтобы добиться нужного результата, не меняя сам текст внутри.
<?php// Задача: вывести текст на двух строках$text = 'Line 1\nLine 2';echo $text;?>Соберите фразу из частей
Перед вами строка, в которой нужно правильно расставить кавычки для цитаты и экранировать знак доллара. Перетащите нужные символы из банка в пропуски, чтобы получить корректную фразу.
<?php
$statement = "Его ответ был: input1SТочно!input2S, а цена - input3S100.";
echo $statement;
?>Финальная проверка: одинарные против двойных
Этот код демонстрирует ключевое различие между одинарными и двойными кавычками при работе с переменными и управляющими символами. Внимательно проследите за выполнением кода и выберите, что он выведет.
<?php
$framework = 'Laravel';
$line1 = 'Изучаем $framework!\n';
$line2 = "Изучаем $framework!\n";
echo $line1;
echo $line2;
?>