Q:

Why do two statement terminators not throw a syntax error? 

I noticed this code:
$li = "Hello World";;

Why is PHP not throwing a syntax error even though there are two semicolons?  Is PHP really this loosely typed? 
Ugly. 

A:

The parser has no concept of white space so that's the equivalent of this:
$li = "Hello World";
;

Which of course is fine, because empty statements are valid syntax. ( And no, that's not ugly, unless you make a typo.  And typos are always ugly.  Although I agree, PHP is very messy.)