2010-02-25 3 views

ответ

13

Это называется HEREDOC syntax, что является способом определения строк на нескольких строках с переменной интерполяцией.


Цитируя страницу вручную:

Heredoc текст ведет себя так же, как двойные кавычки, без двойных кавычек. Это означает, что котировки в heredoc не должны быть экранированы, но коды эвакуации, перечисленные выше, все еще могут быть использованы. Переменные расширенный, но такой же уход должен быть , принятый при выражении комплекса переменные внутри heredoc как с строк.

(Существует еще читать, что я не копипаст со страницы вручную)


И, как очень быстрый и простой пример:

$a = 'World'; 
$string = <<<MARKER 
<p> 
    Hello, $a! 
</p> 
MARKER; 
echo $string; 

Он даст вам этот выход:

Hello, World! 

An d этот HTML источник:

<p> 
    Hello, World! 
</p> 
+0

Что вы подразумеваете под * "вложенным корпусом" *? –

+0

Это просто способ определения строки без необходимости избегать каких-либо специальных символов.На самом деле это ничего не значит, поэтому вопрос кажется немного странным. –

+0

FYI NOWDOC - новый HEREDOC: http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.nowdoc –

0

http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

Blockquote Третий способ определения строк является Heredoc синтаксис: < < <. После этого оператора предоставляется идентификатор, а затем строка новой строки. Далее следует строка, а затем тот же идентификатор, чтобы закрыть цитату.

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

0

Действительно, это синтаксис Heredoc.

Только в случае, если вы не задаетесь вопросом, какой интерес он может иметь против регулярных разделителей строк:

// These strings contain the same thing '"'" 
$s1 = '\'"\'"'; 
$s2 = "'\"'\""; 
$s3 = <<<EOS 
'"'" 
EOS 

Нет больше цитата побега.
Типичный прецедент для меня - это когда мне нужно хранить в строке какой-нибудь HTML-код, который у меня есть/вставлен.

Смежные вопросы