Я использую PHP 7.1.11
Как уже упоминалось в руководстве по PHP
Чтобы указать буквальную одинарную кавычку в строке который уже
заключенный в пару одинарных кавычек, избегайте его с помощью обратной косой черты ().
Чтобы указать буквальный обратный слеш, удвойте его (\). Все остальные случаи
обратная косая черта будет рассматриваться как буквальная обратная косая черта: это означает, что
другие escape-последовательности, к которым вы можете привыкнуть, такие как \ r или \ n, будут
выводить буквально как указано, а не иметь какое-либо особое значение.
Я не понимаю вышеприведенный абзац, из-за которого у меня возникли следующие сомнения:
\'
) уже заключены в одинарные кавычки?Чтобы указать буквальный обратный слеш, удвойте его (\).
На самом деле, я могу просто указать один литерал с обратной косой чертой, добавив single \
в строке, которая уже заключена в пару одинарных кавычек, тогда почему руководство говорит, что я должен использовать double slash(\\)
указать это?
Все остальные случаи
обратная косая черта будет рассматриваться как буквальная обратная косая черта: это означает, что
другие escape-последовательности, к которым вы можете привыкнуть, такие как \ r или \ n, будут
выводить буквально как указано, а не иметь какое-либо особое значение.
Означает ли это, что нет другого символа escape-последовательности, кроме одинарной кавычки (\'
) можно добавить в строку, заключенную в одинарные кавычки? Будут ли печататься такие символы, как \ r, \ t и \ n, как это выглядит как простой текст в браузере?
Кто-то, пожалуйста, проясните все мои вышеупомянутые сомнения.
Благодарю.
Что касается «первого абзаца», речь идет о экранировании от обратной косой черты прямо перед вашей экранированной одинарной кавычкой
echo '\\\'' // Output: \'
Все остальные обратные косые черты выводятся как есть, поэтому нет возможности записать символ «новой строки» в одинарные кавычки.
echo '\n\ \'' // Output: \n\ '
Других решений пока нет …