В PHP работа со строками — это основа основ. Но как правильно их записывать? С помощью одинарных (') или двойных (") кавычек? От этого выбора зависит, как PHP обработает содержимое строки. Двойные кавычки "умнее": они находят внутри себя имена переменных и заменяют их значениями, а также понимают специальные управляющие последовательности, например, `\n` для переноса строки. Одинарные кавычки, наоборот, предельно прямолинейны — они отображают текст "как есть", без каких-либо преобразований.
В этом тренажере мы разберемся в этой разнице на практике. Вы научитесь выбирать правильный тип кавычек для своих задач, вставлять переменные в строки (это называется интерполяция), находить и исправлять частые ошибки, связанные с кавычками, и предсказывать, что именно выведет ваш код. Пройдя эти задания, вы сможете уверенно и без ошибок работать с текстом в 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+
Переменная в одинарных кавычках
Дана переменная `$framework`. Попробуйте вставить её в строку, заключенную в одинарные кавычки, чтобы составить фразу "I love Laravel". Посмотрите, что из этого получится.
<?php
$framework = 'Laravel';
echo 'I love input1S';
?>Переменная в двойных кавычках
Теперь сделаем то же самое, но с двойными кавычками. Вставьте переменную `$framework` в строку, чтобы получить на выходе "I love Laravel".
<?php
$framework = 'Laravel';
echo "I love input1S";
?>Предскажите результат: одинарные кавычки
Внимательно посмотрите на код. Что он выведет на экран? Выберите правильный вариант из предложенных.
<?php
$name = 'Alice';
echo 'Hello, $name!';
?>Результат интерполяции
Проанализируйте код и напишите в поле ответа, какой именно текст будет выведен на экран в результате его выполнения.
<?php
$city = "London";
$country = "UK";
echo "The capital of $country is $city.";
?>Ошибка с апострофом
Этот код не работает, потому что апостроф в слове "it's" конфликтует с одинарными кавычками, которые используются для определения строки. Исправьте строку, чтобы код вывел "It's a sunny day."
<?phpecho 'It's a sunny day.';?>Неправильный тип кавычек
Программист хотел вывести "Your balance: 100 USD", но что-то пошло не так. Код выводит имя переменной, а не её значение. Исправьте ошибку в строке с `echo`.
<?php$balance = 100;$currency = 'USD';echo 'Your balance: $balance $currency';?>Сопоставьте код и результат
Сопоставьте фрагменты кода в левой колонке с описанием того, что они выводят, в правой. Перетащите элементы правой колонки, чтобы установить правильное соответствие.
"$user"'$user'"line 1\nline 2"'\$100'Соберите рабочий код
Из предложенных фрагментов кода соберите работающий скрипт, который объявляет переменную `$city` со значением 'Paris' и выводит на экран "Welcome to Paris!". Лишние и неверные фрагменты использовать не нужно.
<?php$city = 'Paris';echo "Welcome to $city!";?>echo 'Welcome to $city!';$city = "Paris"Экранирование знака доллара
Проанализируйте код. Программист хотел вывести цену в долларах, но использовал двойные кавычки. Что именно выведет этот код? Впишите точный результат.
<?php
$price = 25;
echo "The cost is \$price.";
?>Сортировка по поведению
Распределите строки кода по двум категориям. В первую — те, где PHP обработает переменные и спецсимволы. Во вторую — те, где всё содержимое будет выведено буквально.
"City: $name"'City: $name'"First line\nSecond line"'First line\nSecond line'"Price: {$product['price']}"'It\'s great!'