Naming, oh god yes, the naming. Nothing is consistent with naming functions at all. My favorite example of this is the aptly named "parse_str" function:
Ohohoho. No... if you omit the second parameter, PHP sets variables from the query string in your local scope. Surprise! It's register_globals all over again.
http://us2.php.net/manual/en/function.parse-str.php