dismiss Step into the future! Click here to switch to the beta php.net site
downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

Comments> <Escaping from HTML
[edit] Last updated: Fri, 28 Jun 2013

view this page in

Instruction separation

As in C or Perl, PHP requires instructions to be terminated with a semicolon at the end of each statement. The closing tag of a block of PHP code automatically implies a semicolon; you do not need to have a semicolon terminating the last line of a PHP block. The closing tag for the block will include the immediately trailing newline if one is present.

<?php
    
echo 'This is a test';
?>

<?php echo 'This is a test' ?>

<?php echo 'We omitted the last closing tag';

Note:

The closing tag of a PHP block at the end of a file is optional, and in some cases omitting it is helpful when using include or require, so unwanted whitespace will not occur at the end of files, and you will still be able to add headers to the response later. It is also handy if you use output buffering, and would not like to see added unwanted whitespace at the end of the parts generated by the included files.



Comments> <Escaping from HTML
[edit] Last updated: Fri, 28 Jun 2013
 
add a note add a note User Contributed Notes Instruction separation - [4 notes]
up
15
Krishna Srikanth
6 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
pbarney
1 year ago
If you want to keep the newline after a closing tag in the output, just add a space after the closing tag, and the newline will not be ignored.
up
-3
james dot d dot noyes at lmco dot com
5 years ago
If you are embedding this in XML, you had better place the ending '?>' there or the XML parser will puke on you.  XML parsers do not like processing instructions without end tags, regardless of what PHP does.

If you're doing HTML like 90% of the world, or if you are going to process/interpret the PHP before the XML parser ever sees it, then you can likely get away with it, but it's still not best practice for XML.
up
-5
Darabos, Edvrd Konrd
4 years ago
One newline character (or sequence) is dropped out by the parser after "?>", so you can add the beloved "final newline" to your file after "?>"

Example for plain text outputs:

<? foreach($array as $elem){ ?>
Value: <?=$elem?>

<? } ?>

(You have to add an extra enter after <?=$elem?> if you want to see a newline in the output.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites