12

Example:

<?php $formElement->display()?>

Is this fine, or should I provide a ; ? Well I guess that the PHP interpreter is clever enough to see that the line is finished and the expression done because of the ?> at the end. Right?

John Parker
  • 54,048
  • 11
  • 129
  • 129
openfrog
  • 40,201
  • 65
  • 225
  • 373
  • 4
    If I learned one thing, this is: Ask experts who know it better than what you believe to see. Might "work", but not be "good", under particular circumstances. – openfrog Jan 10 '10 at 21:44
  • 4
    Even better than asking experts is to check with the Manual first ;) – Gordon Jan 10 '10 at 22:32

4 Answers4

16

It is not required, but you should put it, as a good practice.

That way, the day you need to add another instruction after this one, it'll work fine.


And here is the manual's page that answers your question : Instruction separation (quoting, emphasis mine) :

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.

Pascal MARTIN
  • 395,085
  • 80
  • 655
  • 663
  • If you run the code through the Tokenizer, PHP will not recognize the semicolon. See related answer here: http://stackoverflow.com/questions/2020445/what-does-mean-in-php/2020668#2020668 – Gordon Jan 10 '10 at 22:04
6

No, the closing ?> will automatically close the line.

From the PHP Docs:

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.

Doug Neiner
  • 65,509
  • 13
  • 109
  • 118
4

As you say, the PHP interpreter will cope as-is.

However, I'd say that adding the semicolon is probably slightly better practice, but that's just a personal coding preference.

John Parker
  • 54,048
  • 11
  • 129
  • 129
2

Simple answer: yes. It's okay to only have one statement without a semicolon inside PHP tags.

Franz
  • 11,353
  • 8
  • 48
  • 70