Материал предоставлен https://it.rfei.ru

Изменение предназначения символов

Иногда в строке должны содержаться символы, имеющие специальное предназначение, которые могут быть неправильно интерпретированы.

Например, следующая строка кода не будет работать, потому что вторая кавычка, встреченная в слове 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. Внутри строк, заключенных в одинарные кавычки, в качестве символов с измененным предназначением распознаются только измененный апостроф (') и сам измененный обратный слеш (”\”).

Типы строкМногострочные команды