International PHP Conference Berlin 2025

Разделение инструкций

Как и в языках программирования C или Perl, в языке PHP обязательно заканчивать инструкции символом точки с запятой, который указывают в конце каждой инструкции. Закрывающий тег блока PHP-кода автоматически применяет точку с запятой, поэтому не обязательно ставить точку с запятой в конце последней строки блока с PHP-кодом. PHP не включает в вывод перевод строки, который идёт сразу за закрывающим тегом.

Пример #1 Пример вывода текста между закрывающим тегом и переводом строки

<?php echo "Какой-то текст"; ?>
Нет новой строки
<?= "А сейчас, новая строка" ?>

Результат выполнения приведённого примера:

Какой-то текстНет новой строки
А сейчас, новая строка

Примеры входа в режим PHP-парсера и выхода из него:

<?php
echo 'Это тест';
?>

<?php echo 'Это тест' ?>

<?php echo 'Мы опустили последний закрывающий тег';

Замечание:

Тег, которым закрывается блок PHP-кода в конце файла, необязателен, а при подключении файлов выражением include или require пропуск тега иногда приносит пользу, чтобы нежелательные пробелы не появлялись в конце файлов и не мешали позже добавлять к ответу сервера дополнительные HTTP-заголовки. При буферизации вывода пропуск тега также помогает исключить нежелательные пробелы в конце частей, которые сгенерировали подключаемые файлы.

Добавить

Примечания пользователей 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
8 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