Actually, being able to quickly swap from PHP to HTML (especially using short-tags <? ... ?> ) can be useful. One way to create, imho, legible code is to do all the processing first, and then write out the bulk of the HTML, inserting <?=$variable;?> as needed. Like any language feature, this can be abused.
Also, the distinction between == and === is a really useful one. Again, it requires proper understanding, but it can save a lot of time. Consider strpos() which normally returns an integer (perhaps zero), but false on error. This is compact, clear, and avoids the problem of error-handling in C's atoi() or the horrible workaround in strtol().
The key advantage of PHP is the documentation, which is excellent.
BTW, ironically, you *didn't* disable your rant. String "0" IS equal (==) to false, though it isn't identically equal (===). If you wanted to complain, you'd have to complain that "0.0" is considered true; "0.0" is considered equal to 0.0, and that 0.0 is considered false. Sadly there is no perfect way to write automatic-casting rules.