Je vais re-check mais normalement par default le fetch de DBAL renvoie un FETCH_ASSOC et si y'a rien il renvoie null. 
<avis perso>
Faut pas renvoyer un array ou false ça n'a pas de sens. Si une fonction doit renvoyer un objet le comportement attendu c'est que si tout ce passe bien elle renvoie l'objet, sinon elle renvoie null. Pour les array ça serait pas choquant qu'elle renvoie un array vide, mais vu que là c'est plus un array au sens d'un objet qu'on veut il faut qu'elle renvoie null plutôt qu'un array vide.
</avis perso>