I was surprised when I run the following code in my editor:
Because the close tag implies a semicolon. You can read more about this in the manual under Instruction separation.
And a quote from there:
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.
An example to prove this:
1. script with missing semicolon at the end, but with closing tag:
<?php echo "1"; echo "2" //^ semicolon missing ?>
2. script with missing semicolon at the end, but without closing tag:
<?php echo "1"; echo "2" //^ semicolon missing (closing tag missing)
Parse error: syntax error, unexpected end of file, expecting ',' or ';' in