Du machst was falsch. Deine beiden Fehler heben sich aber so gegenseitig gegeneinander auf, dass am Ende etwas halbrichtiges rauskommt,
var_dump(ENT_QUOTES);
liefert int(3)
(3 == true)
trifft aber zu - was ich jetzt nicht erwartet habe.
und kein kompletter Fail.
Du verwendest das F-Wort schon wieder :)
Das hier funktioniert übrigens auch:
echo htmlspecialchars(print_r(array('foo', 'bar'), fail));
Aufgrund des typecastings ist fail auch true ;)