Tach!
empty() ist bei so vielen Dingen "empty", die man nicht als empty bezeichnen würde, das geht auf keine Kuhhaut. Beispielsweise ist der String "0" empty. Und das ist eindeutig falsch, denn er enthält ja ein Zeichen.
Kommt auf den Kontext an. Wenn "0" in meinem Fall (zum Beispiel ein Wert in $GET/$_POST) keinen gültigen Wert repräsentieren kann, dann sehe ich empty() nicht grundsätzlich ablehenswert an.
Ich halte Abstand von empty() - Formulardatenvalidierung ist nicht so schwer hinzukriegen - dafür gibts existierende Bibliotheken, die das viel besser hinkriegen, als es manuell hinzufummeln.
Man möchte sich ja auch weiterbilden und Anfänger sollen es ja gleich "richtig machen". Wie lautet also deine Empfehlung?
dedlfix.