Иногда в строке должны содержаться символы, имеющие специальное предназначение, которые могут быть неправильно интерпретированы.
Например, следующая строка кода не будет работать, потому что вторая кавычка, встреченная в слове sister's, укажет РНР-парсеру на то, что достигнут конец строки. Следовательно, вся остальная часть строки будет отвергнута как ошибочная:
$text = 'My sister's car is a Ford'; // Ошибочный синтаксис
Для того чтобы исправить ошибку, нужно непосредственно перед вызывающим неоднозначное толкование символом кавычки добавить обратный слеш, чтобы заставить РНР рассматривать этот символ буквально и не подвергать его интерпретации:
$text = 'My sister'\s car is a Ford';
Этот прием можно применить практически во всех ситуациях, где в противном случае РНР вернул бы ошибку, пытаясь интерпретировать символ. Например, следующая строка, заключенная в двойные кавычки, будет присвоена переменной без ошибок:
$text = "Моя мама всегда говорит: "Ешь зелень".";
Кроме того, для вставки в строку различных специальных символов, например табуляции, новой строки и возврата каретки, могут применяться управляющие символы. Они, как можно было догадаться, представлены парами \t
, \n
и \r
. Вот пример, в котором символы табуляции используются для разметки заголовка (они включены в строку исключительно для иллюстрации использования символа обратного слеша, поскольку существуют более подходящие способы разметки веб-страниц):
$heading = "Дата \t Имя \t Платеж";
Эти специальные символы, предваряемые символами обратного слеша, работают только в строках, заключенных в двойные кавычки. Если заключить предыдущую строку в одинарные кавычки, то вместо символов табуляции в ней будут отображены нелепые последовательности символов \t
. Внутри строк, заключенных в одинарные кавычки, в качестве символов с измененным предназначением распознаются только измененный апостроф ('
) и сам измененный обратный слеш (”\”).
Типы строк | Многострочные команды |