PHP EOF (heredoc) — это способ определения строки в оболочках командной строки (таких как sh, csh, ksh, bash, PowerShell и zsh) и языках программирования (таких как Perl, PHP, Python и Ruby). .
Обзор использования:
1. За ним должна идти точка с запятой, иначе компиляция завершится неудачно.
2. EOF может быть заменен любым другим символом, если конечный идентификатор соответствует начальному идентификатору.
3. Знак окончания должен занимать отдельную строку вверху строки (т. е. должен начинаться с начала строки и не может соединяться никакими пробелами или символами до и после).
4. Начальный идентификатор может быть без кавычек или с одинарными или двойными кавычками. Без кавычек эффект тот же, что и с двойными кавычками. При использовании одинарных кавычек встроенные переменные и escape-символы не будут интерпретироваться. интерпретировано.
5. Если для содержимого требуются встроенные кавычки (одинарные или двойные кавычки), нет необходимости добавлять escape-символы. Одинарные и двойные кавычки экранируются сами по себе. Это эквивалентно использованию q и qq.
<?php эхо <<<EOF <h1>Мой первый заголовок</h1> <p>Мой первый абзац. </p> ЭОФ; // Конец должен быть на отдельной строке, до и после него не должно быть пробелов ?>
Уведомление:
1. Начинайте с начального тега <<<EOF
и заканчивайте закрывающим тегом EOF
. Конечный тег должен быть написан вверху, без отступов и пробелов, а в конце конечного тега должна быть точка с запятой.
2. Начальный и конечный тег одинаковы. Например, для их представления обычно используются заглавные EOT、EOD、EOF
, но они не ограничиваются ими (вы также можете использовать: JSON, HTML и т. д.). , если в тексте не отображаются начальный и конечный тег.
3. Переменные, расположенные между начальным и конечным тегом, могут анализироваться обычным образом, а функции — нет. В heredoc переменные не нужно сращивать с помощью коннекторов ,
.
образом:
<?php $name = " codercto " ; $a = <<<EOF "abc" $name "123" EOF; // Конец должен быть на отдельной строке, до и после него не может быть пробелов эхо $а ? >