Do not mis interpret
<?php echo 'Ending tag excluded';
with
<?php echo 'Ending tag excluded';
<p>But html is still visible</p>
The second one would give error. Exclude ?> if you no more html to write after the code.
Как и в языках программирования C или Perl, в языке PHP обязательно заканчивать инструкции символом точки с запятой, который указывают в конце каждой инструкции. Закрывающий тег блока PHP-кода автоматически применяет точку с запятой, поэтому не обязательно ставить точку с запятой в конце последней строки блока с PHP-кодом. PHP не включает в вывод перевод строки, который идёт сразу за закрывающим тегом.
Пример #1 Пример вывода текста между закрывающим тегом и переводом строки
<?php echo "Какой-то текст"; ?>
Нет новой строки
<?= "А сейчас, новая строка" ?>
Результат выполнения приведённого примера:
Какой-то текстНет новой строки А сейчас, новая строка
Примеры входа в режим PHP-парсера и выхода из него:
<?php
echo 'Это тест';
?>
<?php echo 'Это тест' ?>
<?php echo 'Мы опустили последний закрывающий тег';
Замечание:
Тег, которым закрывается блок PHP-кода в конце файла, необязателен, а при подключении файлов выражением include или require пропуск тега иногда приносит пользу, чтобы нежелательные пробелы не появлялись в конце файлов и не мешали позже добавлять к ответу сервера дополнительные HTTP-заголовки. При буферизации вывода пропуск тега также помогает исключить нежелательные пробелы в конце частей, которые сгенерировали подключаемые файлы.
Do not mis interpret
<?php echo 'Ending tag excluded';
with
<?php echo 'Ending tag excluded';
<p>But html is still visible</p>
The second one would give error. Exclude ?> if you no more html to write after the code.
You are also able to write more than one statement in one line, just separating with a semicolon, example:
<?php
echo "a"; echo "b"; echo "c";
#The output will be "abc" with no errors
?>
A user from stack overflow had a nice explanation for the trailing newline, simply put,
<?= "Hello" ?>
Jello
would output,
HelloJello
meaning that implicit newline from the ?> tag is not there, however one can simply add that to the code such as,
<?= "Hello" ?>
Jello
the space between acts as a new line after the closing tag