There are definitely toy languages. lolcode is definitely a toy.
On a serious note, people dislike PHP because many of the language choices seem to have been made oddly to put it nicely. It's also domain specific. While I wouldn't want to play a 3D game written in Python or Ruby, they're programming languages that you can make whatever in. When someone tries to make a desktop app in PHP, it's just odd. PHP is a language in the way that JSP is. It's wonderfully useful for web stuff, but it's not a programming language made for everything - just web stuff.
And, to be honest, PHP does a lot of things that really aren't good practice if you're doing something other than creating a domain specific language. Like, you connect to a database with mysql_connect() and then run queries with mysql_query() and you don't have to pass in a link identifier unless you're querying a new DB. It completely isolates programmers from the reality of how variables like that get managed in memory. It's not a bad thing when you're just trying to get something done, but it also means that PHP people have no idea what a local static variable is and what that means (maybe it clings to you after you run the laundry?).
Likewise, a lot of programming is dealing with scope. PHP tends to muddle scope with globals in a way that can be convenient for web programs, but also means that you get a lot of people that don't know program design messing around in it.
Similarly, PHP isolates users from types more than most scripting languages. What's false? Who knows? It's actually a problem as 0 == 'apple' returns true. Yep. Integer zero is equal to any string. While I'm not a typist, I do think there are problems when you muddle too much casting to different types automatically.
In terms of Python/Perl/Ruby, well, some people are against scripting languages. They're slower than something like C or Java and want to be snotty about the relaxed programming they offer. Plus, well, you don't find C programmers that don't understand things like garbage collection or algorithm performance standards. Sometimes in the scripting world there are a bunch of cut/paste, keep trying something until it works programmers. They don't know what they're doing and stumble along not realizing why something works or doesn't. How many scripting programmers have thought about references vs. copies?
A lot of it is people being snotty about things, but a lot of programmers really don't understand programming. So, whatever. People call things names. It's going to happen whether they're geniuses or idiots.