эхо <
Мне нужно поработать с некоторыми сценариями, в которых я нашел это:
$data = <<<DATA
MIN={$min}
INVOICE={$invoice}
AMOUNT={$sum}
EXP_TIME={$exp_date}
DESCR={$descr}
DATA;
Может ли кто-нибудь предоставить дополнительную информацию о $somevar = <<<DATA
... и echo <<<HTML
... кажется, трудно найти полезную информацию об этом.
3 answers
Это синтакс наследственности:
Наследственность
Третий способ разграничения строк - синтаксис heredoc:
Закрывающий идентификатор должен начинаться в первом столбце строки. Кроме того, идентификатор должен соответствовать тем же правилам именования, что и любая другая метка в PHP: он должен содержать только буквенно-цифровые символы и подчеркивает и должно начинаться с нецифрового символа или подчеркивания.
Вы можете прочитать больше об этом в документации php http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc
Дополнительная информация:
Пример:
<?php
$mystring = <<<EOT
This is some PHP text.
It is completely free
I can use "double quotes"
and 'single quotes',
plus $variables too, which will
be properly converted to their values,
you can even type EOT, as long as it
is not alone on a line, like this:
EOT;
?>
Есть несколько ключевых моментов, которые следует отметить в heredoc, и пример выше:
Вы можете использовать все, что вам нравится; "EOT" - это просто пример
Вам нужно использовать
В PHP используется подстановка переменных, что означает, что вам нужно избегать символов доллара - если вы этого не сделаете, PHP попытается заменить переменную.
Вы можете использовать разделитель в любом месте текста, но не в первом столбце новой строки
В конце строки просто введите разделитель без пробелов вокруг него, а затем точку с запятой, чтобы закончить инструкцию
Без heredoc синтаксис, сложные назначения строк могут быстро стать очень запутанными. Heredoc не так часто используется в дикой природе - очень часто вам захочется, чтобы он использовался чаще, потому что слишком много сценариев, с которыми вы столкнетесь, имеют беспорядочный код в результате неиспользования heredoc!
Http://www.php.net/manual/de/language.types.string.php#language.types.string.syntax.heredoc
В котором говорится: Третий способ разграничения строк - синтаксис heredoc:
Это называется Heredoc, вы можете указать идентификатор, а затем использовать его вместо строк в двойных кавычках, чтобы вам не нужно было экранировать двойные кавычки, потому что у вас уже есть другой разделитель для вашей строки. Он имеет те же правила экранирования и правила синтаксического анализа со строками в двойных кавычках (например, \n, \r, синтаксический анализ переменных и т.д.), Но вам не нужно экранировать двойные кавычки при использовании синтаксиса Heredoc.
{$desc}
часть - это фигурный синтаксис, который представляет собой сложный способ анализа переменных в строка. Сложный не значит сложный для написания. Сложный означает, что у вас может быть больше возможностей для анализа переменной (например, вы можете назначить возвращаемое значение функции в качестве имени переменной, а затем проанализировать эту переменную и т. Д.)
Для получения дополнительной информации о синтаксисе heredoc и curly смотрите здесь: http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc