Поділ інструкцій

Як і C чи Perl, PHP вимагає завершення інструкцій символом крапки з комою в кінці кожного виразу. Кінцевий тег в блоці PHP-коду автоматично виконуватиме роль символа крапки з комою. Тобто не потрібно завершувати останній рядок PHP-блоку символом крапки з комою. Кінцевий тег також зумовить видалення символа нового рядка, що йде безпосередньо після нього.

Приклад #1 Приклад з кінцевим тегом та символом нового рядка

<?php echo "Якийсь текст"; ?>
Немає нового рядка
<?= "А тут є" ?>

Поданий вище приклад виведе:

Якийсь текстНемає нового рядка
А тут є

Приклади входу та виходу з парсера PHP:

<?php
echo 'Це перевірка';
?>

<?php echo 'Це перевірка' ?>

<?php echo 'Ми опустили кінцевий тег';

Зауваження:

Кінцевий тег PHP-блока в кінці файлу є необов'язковим, а в деяких випадках з конструкціями include чи require його відсутність є корисною, оскільки випадковий пропуск в кінці файлу не додається у вивід, а також залишається можливість додавати заголовки для відповіді пізніше. Також це зручно під час буферизації виводу, коли пропуски в кінці частини виводу, згенерованої підключеним файлом — небажані.

add a note

User Contributed Notes 3 notes

up
65
Krishna Srikanth
18 years ago
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.
up
6
M1001
2 years ago
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
?>
up
1
moonlander12341234 at gmail dot com
7 months ago
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
To Top