Есть ли в PHP эквивалент строковых литералов C #? - PullRequest
6 голосов
/ 24 августа 2010

Я знаю, что могу создать буквенный строковый литерал в C #, используя символ @. Например, обычный

String path = "C:\\MyDocs\\myText.txt";

также можно переписать как

String path = @"C:\MyDocs\myText.txt";

Таким образом, строковый литерал не загроможден escape-символами и делает его намного более читабельным.

Что я хотел бы знать, так это то, что в PHP также есть эквивалент или мне нужно вручную экранировать строку?

Ответы [ 2 ]

5 голосов
/ 24 августа 2010
$path = 'C:\MyDocs\myText.txt';

" двойные кавычки допускают всевозможные последовательности специальных символов, ' одинарные кавычки являются дословными (есть только несколько мелкий шрифт о экранировании ' и экранировании \).

3 голосов
/ 24 августа 2010

Даже строки в одинарных кавычках в PHP нуждаются в экранировании по крайней мере буквальных одинарных кавычек и буквенных обратных косых черт :

$str = 'Single quotes won\'t help me \ avoid escapes or save a tree';

Единственное непарсированное решение для PHP - этоиспользуйте nowdocs .Для этого необходимо использовать PHP 5.3.

$str = <<<'EOD'
I mustn't quote verbatim text \
maybe in the version next
EOD;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...