Одинарные и двойные кавычки

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

Тренажер PHP

В PHP работа со строками — это основа основ. Но как правильно их записывать? С помощью одинарных (') или двойных (") кавычек? От этого выбора зависит, как PHP обработает содержимое строки. Двойные кавычки "умнее": они находят внутри себя имена переменных и заменяют их значениями, а также понимают специальные управляющие последовательности, например, `\n` для переноса строки. Одинарные кавычки, наоборот, предельно прямолинейны — они отображают текст "как есть", без каких-либо преобразований.

В этом тренажере мы разберемся в этой разнице на практике. Вы научитесь выбирать правильный тип кавычек для своих задач, вставлять переменные в строки (это называется интерполяция), находить и исправлять частые ошибки, связанные с кавычками, и предсказывать, что именно выведет ваш код. Пройдя эти задания, вы сможете уверенно и без ошибок работать с текстом в PHP.

Список тем

Переменная в одинарных кавычках

id: 39004_task_1

Дана переменная `$framework`. Попробуйте вставить её в строку, заключенную в одинарные кавычки, чтобы составить фразу "I love Laravel". Посмотрите, что из этого получится.

Заполните пропуски
<?php
$framework = 'Laravel';
echo 'I love input1S';
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Переменная в двойных кавычках

id: 39004_task_2

Теперь сделаем то же самое, но с двойными кавычками. Вставьте переменную `$framework` в строку, чтобы получить на выходе "I love Laravel".

Заполните пропуски
<?php
$framework = 'Laravel';
echo "I love input1S";
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Предскажите результат: одинарные кавычки

id: 39004_task_3

Внимательно посмотрите на код. Что он выведет на экран? Выберите правильный вариант из предложенных.

Выберите правильный вариант ответа
<?php
$name = 'Alice';
echo 'Hello, $name!';
?>
Сообщения
Проверить
Показать подсказку

Результат интерполяции

id: 39004_task_4

Проанализируйте код и напишите в поле ответа, какой именно текст будет выведен на экран в результате его выполнения.

Что должно получиться?
<?php
$city = "London";
$country = "UK";
echo "The capital of $country is $city.";
?>
Сообщения
Проверить
Показать подсказку

Ошибка с апострофом

id: 39004_task_5

Этот код не работает, потому что апостроф в слове "it's" конфликтует с одинарными кавычками, которые используются для определения строки. Исправьте строку, чтобы код вывел "It's a sunny day."

Найдите ошибку и исправьте
<?php
echo 'It's a sunny day.';
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Неправильный тип кавычек

id: 39004_task_6

Программист хотел вывести "Your balance: 100 USD", но что-то пошло не так. Код выводит имя переменной, а не её значение. Исправьте ошибку в строке с `echo`.

Найдите ошибку и исправьте
<?php
$balance = 100;
$currency = 'USD';
echo 'Your balance: $balance $currency';
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Сопоставьте код и результат

id: 39004_task_7

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

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
"$user"
'$user'
"line 1\nline 2"
'\$100'
Имя переменной как текст
Текст с реальным переносом строки
Буквальный текст: $100
Значение переменной $user
Сообщения
Проверить
Показать подсказку

Соберите рабочий код

id: 39004_task_8

Из предложенных фрагментов кода соберите работающий скрипт, который объявляет переменную `$city` со значением 'Paris' и выводит на экран "Welcome to Paris!". Лишние и неверные фрагменты использовать не нужно.

Перетяните в правильном порядке строки из одного блока в другой
<?php
$city = 'Paris';
echo "Welcome to $city!";
?>
echo 'Welcome to $city!';
$city = "Paris"
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Экранирование знака доллара

id: 39004_task_9

Проанализируйте код. Программист хотел вывести цену в долларах, но использовал двойные кавычки. Что именно выведет этот код? Впишите точный результат.

Что должно получиться?
<?php
$price = 25;
echo "The cost is \$price.";
?>
Сообщения
Проверить
Показать подсказку

Сортировка по поведению

id: 39004_task_10

Распределите строки кода по двум категориям. В первую — те, где PHP обработает переменные и спецсимволы. Во вторую — те, где всё содержимое будет выведено буквально.

Перетяните элементы в соответствующие блоки
Переменные и спецсимволы обрабатываются
Выводится буквально (как текст)
"City: $name"
'City: $name'
"First line\nSecond line"
'First line\nSecond line'
"Price: {$product['price']}"
'It\'s great!'
Сообщения
Проверить
Показать подсказку
НайтиКурс.Ру