Zdenek Machek
Zdenek Machek

Reputation: 1744

Why is a single line comment causing PHP syntax error?

The following code:

$a = '?>';

is fine but the commented version of the same code:

//$a = '?>';

causes a syntax error but

 /*$a = '?>';*/

is fine.

It doesn't make much sense to me how //$a = '?>'; is translated.

Upvotes: 1

Views: 131

Answers (1)

Mark Baker
Mark Baker

Reputation: 212412

From the PHP Docs:

The "one-line" comment styles only comment to the end of the line or the current block of PHP code, whichever comes first.

(my emphasis)

The comment comprises the block of characters

//$a = '

But the ?> terminates the comment, which means you have a line of PHP reading just

';

which is invalid PHP

Upvotes: 4

Related Questions