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
  • 53,316
  • 11
  • 128
  • 128
openfrog
  • 39,113
  • 64
  • 218
  • 367
  • 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
  • 385,748
  • 76
  • 642
  • 654
  • 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
  • 64,147
  • 13
  • 107
  • 117
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
  • 53,316
  • 11
  • 128
  • 128
2

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

Franz
  • 11,143
  • 8
  • 47
  • 69