Ну, это действительно зависит от семантики, которую вы хотите дать своему возвращению.
Обычно я использую предварительные и последующие условия почти для всех своих функций / методов. Это означает, что если мой метод должен возвращать массив с данными из определенной обработки, если эта обработка завершается ошибкой, объект должен быть нулевым, а условие post завершится неудачей.
Но в вашем случае я предполагаю, что вы не используете DbC, поэтому, если я ссылаюсь только на ваш вопрос:
Что делать, если массив не заполняется.
Тогда я бы возвратил ноль, так как предполагал, что в вашей фразе что-то пошло не так.