You can't do:
$something->doStuff()[0]
if(empty($something->doStuff()))
Overload fucking functions. Fuck.
What sucks:
The namespace separator.
The naming conventions of the core functions.
The speed.
But, overall it works and elegant solutions can be written.
Also, being competent in a market full of incompetents makes you valuable and getting a well paying job is easy. What's not to like about that?