Экранирующие символы в PHP
Некоторые символы нельзя просто написать внутри строки, потому что PHP поймёт их неправильно. Частый случай — двойная кавычка внутри строки, которая сама заключена в двойные кавычки: PHP принимает её за конец строки.
Решение — экранирующий символ. Напишите обратную косую черту \, а затем нужный символ, и PHP будет считать этот символ обычным текстом.
Пример
Кавычки вокруг слова Vikings завершают строку слишком рано, поэтому PHP останавливается с ошибкой разбора:
Prompt
Напишите PHP-скрипт, который пытается использовать двойные кавычки внутри строки в двойных кавычках без экранирования, что вызывает ошибку. Сохраните "Мы — так называемые "Vikings" с севера." в переменной и выведите её с помощью echo.
Вывод: PHP-скрипт
index.php
<?php
$x = "Мы — так называемые "Vikings" с севера.";
echo $x;
?>
Пример
Проблему решает обратная косая черта перед каждой внутренней кавычкой, то есть \":
Prompt
Напишите PHP-скрипт, который использует экранирующий символ «обратный слеш», чтобы включить двойные кавычки внутрь строки в двойных кавычках. Сохраните "Мы — так называемые "Vikings" с севера." в переменной и выведите её с помощью echo.
Вывод: PHP-скрипт
index.php
<?php
$x = "Мы — так называемые \"Vikings\" с севера.";
echo $x;
?>
Экранирующие символы
Обратная косая черта работает не только с кавычками. PHP понимает и другие последовательности:
Таблица экранирующих символов
Вот что означает каждая последовательность:
index.php
\' Single Quote
\" Double Quote
\$ PHP variables
\n New Line
\r Carriage Return
\t Tab
\f Form Feed
\ooo Octal value
\xhh Hex value