Hmm. First of all, it's possible for people to learn just enough to hang themselves in it without actually learning to program. Minor point.
Weak typing. So, for instance, 1=='1' evaluates to true. Which is silly. - Big problem
No namespaces (and apparently may not even be added for php6) - big problem
No error on using undeclared variables. So if you type $cat where you meant to type $can, it won't, by default, warn. - big problem
Built-in functions are a complete basket-case, with multiple functions for doing the same thing, inconsistent naming, inconsistent argument orders, etc - big problem
magic_quotes and register_globals - silliness. (though neither are now default)
Extremely weird scoping.
No proper unicode.
No real arrays.
Ugly.
I could go on.