Weil’s mich selber nervt und ich es immer wieder vergesse: empty() kann erst ab PHP 5.5 mit Ausdrücken umgehen vorher gibt’s den altbekannte Error:
PHP Fatal error: Can't use method return value in write context
Also: bis 5.5 geht empty(foo())
immer, darunter nimmer!
Mehr zu empty()
bei php.net