Перейти к основному содержимому

Экранирующие символы в PHP

Некоторые символы нельзя просто написать внутри строки, потому что PHP поймёт их неправильно. Частый случай — двойная кавычка внутри строки, которая сама заключена в двойные кавычки: PHP принимает её за конец строки.

Решение — экранирующий символ. Напишите обратную косую черту \, а затем нужный символ, и PHP будет считать этот символ обычным текстом.

Пример

Кавычки вокруг слова Vikings завершают строку слишком рано, поэтому PHP останавливается с ошибкой разбора:

Prompt
Напишите PHP-скрипт, который пытается использовать двойные кавычки внутри строки в двойных кавычках без экранирования, что вызывает ошибку. Сохраните "Мы — так называемые "Vikings" с севера." в переменной и выведите её с помощью echo.
Вывод: PHP-скрипт

Пример

Проблему решает обратная косая черта перед каждой внутренней кавычкой, то есть \":

Prompt
Напишите PHP-скрипт, который использует экранирующий символ «обратный слеш», чтобы включить двойные кавычки внутрь строки в двойных кавычках. Сохраните "Мы — так называемые "Vikings" с севера." в переменной и выведите её с помощью echo.
Вывод: PHP-скрипт

Экранирующие символы

Обратная косая черта работает не только с кавычками. 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