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-блоку символом крапки з комою. Кінцевий тег також зумовить видалення символа нового рядка, що йде безпосередньо після нього.
Приклад #1 Приклад з кінцевим тегом та символом нового рядка
<?php echo "Якийсь текст"; ?>
Немає нового рядка
<?= "А тут є" ?>
Поданий вище приклад виведе:
Якийсь текстНемає нового рядка А тут є
Приклади входу та виходу з парсера PHP:
<?php
echo 'Це перевірка';
?>
<?php echo 'Це перевірка' ?>
<?php echo 'Ми опустили кінцевий тег';
Зауваження:
Кінцевий тег PHP-блока в кінці файлу є необов'язковим, а в деяких випадках з конструкціями include чи require його відсутність є корисною, оскільки випадковий пропуск в кінці файлу не додається у вивід, а також залишається можливість додавати заголовки для відповіді пізніше. Також це зручно під час буферизації виводу, коли пропуски в кінці частини виводу, згенерованої підключеним файлом — небажані.
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